You are on page 1of 2

SỞ GIÁO DỤC VÀ ĐÀO TẠO ĐỀ THI CHỌN HỌC SINH GIỎI LỚP 12 THPT

TỈNH NINH BÌNH NĂM HỌC 2010 - 2011


Môn: Tin học - Vòng 2
ĐỀ THI CHÍNH THỨC
Thời gian làm bài: 180 phút (không kể thời gian giao đề)
(Đề thi gồm 03 bài trong 02 trang)

Tổng quan đề thi:


Bài Chương trình Input Output Thời gian chạy
1- Đoạn con SUBSEQ.PAS SUBSEQ.INP SUBSEQ.OUT 1giây/test
2- Đường đi ROBOT.PAS ROBOT.INP ROBOT.OUT 1giây/test
3- Truyền tin TT.PAS TT.INP TT.OUT 1giây/test

Lưu ý: Thí sinh bắt buộc phải đặt tên file chương trình, file dữ liệu như trên.

Bài 1 (7,0 điểm): Đoạn con


Cho dãy số nguyên a 1, a2,..., aN (|ai| < 109, N < 105). Một tập hợp khác rỗng các số hạng liên
tiếp {ai, ai+1,..., ak} (i  k) gọi là một đoạn con của dãy đó. Với mỗi đoạn con ta tính tổng tất cả
các số hạng của nó.
Yêu cầu: Tìm giá trị lớn nhất trong số các tổng của các đoạn con của dãy đã cho.
Dữ liệu vào: cho trong file SUBSEQ.INP:
Dòng đầu chứa số N, dòng thứ i trong N dòng tiếp theo chứa số ai.
Dữ liệu ra: Ghi ra file SUBSEQ.OUT một số nguyên là giá trị tổng đoạn con lớn nhất tìm được.
Ví dụ:
SUBSEQ.INP SUBSEQ.OUT
7 8
1
-2 (Giải thích: đoạn
-1 con tổng lớn nhất
4 là:
-1 4 – 1 + 5 = 8)
5
-2
(60% số test có N < 3000)

BÀI 2 (7,0 điểm): Đường đi


Cho một bảng vuông kích thước N*N (với 2 < N < 100). Mỗi ô trong bảng ghi một số
nguyên thuộc khoảng (-32000; 32000).
Yêu cầu: Tìm đường đi của robot từ ô góc trên trái (dòng 1 cột 1) xuống ô góc dưới phải (dòng n
cột n) của bảng sao cho tổng các số trên đường đi là nhỏ nhất. Biết rằng mỗi bước từ một ô
Robot chỉ có thể đi sang ô kề cạnh bên phải hoặc bên dưới so với ô nó đang đứng.
Dữ liệu vào: Cho trong file Robot.inp
- Dòng đầu ghi giá trị số n.
- Dòng thứ i trong n dòng tiếp theo ghi n số trên dòng i của bảng theo thứ tự từ trái qua phải.
Dữ liệu ra: Ghi ra file Robot.out một số nguyên là tổng giá trị đường đi nhỏ nhất tìm được.
Ví dụ:
ROBOT.INP ROBOT.OUT
3 25
12 11 15
4 6 9 (Giải thích: đường đi có tổng bé nhất:
-12 25 -4 (1,1) => (2,1) => (3,1) => (3,2) => (3,3)
có tổng: 12 + 4 – 12 + 25 – 4 = 25)
(60% số test có N < 13)

Bài 3 (6,0 điểm): Truyền tin


Thời cổ đại, một trong những phương tiện truyền tin hiệu quả sử dụng chim đưa thư. Một
vương quốc có N đơn vị hành chính đánh số từ 1 đến N( kinh thành được đánh số là 1). Hệ thống
truyền tin được Quốc vương xây dựng như sau: Mỗi đơn vị hành chính có danh sách một số đơn
vị khác để khi nhận được một thông tin (từ kinh thành hay từ các đơn vị khác truyền đến) thì sẽ
lập tức dùng chim đưa thư truyền tin đến các đơn vị trong danh sách đó. Khi có một mệnh lệnh
cần ban hành nó sẽ được truyền đi từ kinh thành và hệ thống đã xây dựng đảm bảo thông tin đến
được với mọi đơn vị hành chính.
Sau một thời gian hoạt động, Quốc vương muốn đánh giá hiệu quả của hệ thống truyền tin.
Vì thế ngài muốn các cơ quan phụ trách hệ thống này cho biết: mỗi đơn vị hành chính nhận được
thông tin lần đầu tiên sau thời gian bao lâu khi nó được ban hành từ kinh thành? Một vấn đề thực
sự không đơn giản!
Yêu cầu: Cho biết hệ thống truyền tin, thời gian truyền tin giữa hai đơn vị trong hệ thống. Xác
định thời gian nhận được thông tin sớm nhất của mỗi đơn vị hành chính tính từ khi thông tin
được truyền đi từ kinh thành.
Dữ liệu vào: Cho trong file TT.INP:
- Dòng đầu ghi hai số N và M (N<10000, M<100000).
- M dòng sau, mỗi dòng chứa ba số nguyên dương i j t với ý nghĩa: đơn vị j có trong danh
sách truyền tin của đơn vị i và thời gian truyền tin từ i đến j là t (t < 104).
Dữ liệu ra: Ghi ra file TT.OUT :
N số nguyên dương, trên dòng thứ k là thời gian để lần đầu tiên đơn vị thứ k nhận được
thông tin.
Ví dụ:
TT.INP TT.OUT
57 0
123 2
131 1
256 3
157 5
321
342
452

(60% test có M < 1000)


---------------------Hết---------------------
Hä vµ tªn thÝ sinh...................................... Sè b¸o danh:.........................................................

Ch÷ kÝ cña gi¸m thÞ 1................................ Ch÷ kÝ cña gi¸m thÞ 2............................................

You might also like