You are on page 1of 4

SỞ GIÁO DỤC VÀ ĐÀO TẠO TÂY NINH

KỲ THI CHỌN HỌC SINH GIỎI LỚP 12 THPT VÒNG TỈNH


NĂM HỌC 2014-2015
Ngày thi: 25 tháng 9 năm 2014
Môn thi: Tin học - Buổi thi thứ hai
Thời gian: 180 phút (không kể thời gian giao đề)

ĐỀ CHÍNH THỨC
(Đề thi này gồm có 03 trang)
TỔNG QUAN
Tên bài File chương trình File dữ liệu vào File dữ liệu ra
Đoạn có tổng dương
Bài 1 Bai1.pas ddmax.inp ddmax.out
dài nhất
Bài 2 Hệ thống xe bus Bai2.pas Bus.inp Bus.out
Bài 3 Xây dựng thành phố Bai3.pas City.inp City.out
Hãy lập trình giải các bài toán sau:

Bài 1. (6 điểm) Đoạn có tổng dương dài nhất


Cho một dãy số nguyên có n phần tử:
a1, a2, …, an (n ≤ 107, |ai| ≤ 103)
Tìm một dãy con các phần tử liên tiếp ax,…, ay, có tổng dương dài nhất:
ax + …+ ay > 0, (y-x+1)  max.
Giới hạn thời gian trong 1 giây.
Dữ liệu: Vào từ file văn bản ddmax.inp:
 Dòng đầu chứa số nguyên n.
 n dòng tiếp theo chứa n số a1, a2, …, an, mỗi số trên một dòng.
Kết quả: Đưa ra file văn bản ddmax.out:
 Dòng đầu tiên ghi độ dài max.
 Dòng thứ hai ghi chỉ số x của dãy, nếu tồn tại nhiều chỉ số thì lấy chỉ số lớn nhất
(nếu không có thì ghi 0).
 Dòng thứ ba ghi chỉ số y của dãy (nếu không có thì ghi 0).
Ví dụ:
ddmax.inp ddmax.out

7 4
-2 2
1 5
-3
2
Buổi thi thứ 2 - Trang 1/4
1
-3
0
Giải thích: max = 4, x = 2, y = 5, a2 + a3 + a4 + a5 = 1-3+2+1 > 0.
Ràng buộc: Có 50% số test ứng với 50% số điểm của bài có n ≤ 104.

Bài 2. (7 điểm) Hệ thống xe bus


Ở một thành phố nọ, mật độ dân số cao, đường xá thì chật hẹp, vấn đề giao thông
và môi trường trở nên khó khăn với nhiều người dân. Nhằm khuyến khích người dân hạn
chế dùng phương tiện cá nhân, chính quyền thành phố phát triển hệ thống giao thông
công cộng là xe bus. Có n trạm xe bus đánh dấu từ 1 đến n. Có m tuyến đường, tuyến thứ
i nối trực tiếp hai trạm ui và vi với thời gian di chuyển ti, chú ý ui nối vi không có nghĩa vi
nối ui và không lặp lại (1≤ m < n2, i: 1 .. m, 1≤ ui , vi ≤ n).
Sau nhiều năm sử dụng xe bus, đến nay người dân vẫn cảm thấy không thoải mái.
Ví dụ họ muốn biết, nếu xuất phát từ một trạm s đến một trạm f thì có đi xe bus được
không (có thể đi gián tiếp), nếu đi được thì tìm số lượng tuyến ít nhất để số lần chuyển xe
ít nhất và thời gian ít nhất, cho thời gian chuyển tuyến bằng không. Có p yêu cầu như
thế, yêu cầu thứ j có trạm xuất phát s j và trạm đích fj (j: 1 .. p, 1≤ s j , fj ≤ n). Bạn có thể
giúp chính quyền thành phố giải quyết bài toán.
Yêu cầu chung: Cho n, m, p, ui, vi, ti, sj, fj (2≤ n ≤103, 1≤ p ≤107, 1≤ ti ≤103, i: 1 .. m, j:
1 .. p). Hãy tìm số lượng tuyến ít nhất và thời gian nhất ít nhất cho mỗi yêu cầu trong p
yêu cầu. Lưu ý: số lượng tuyến ít nhất và thời gian ít nhất là hai ý độc lập. Thời gian
chạy chương trình trong vòng 1 giây.
Dữ liệu: Vào từ file văn bản Bus.inp:
 Dòng đầu chứa 3 số nguyên n, m, p
 m dòng tiếp theo, mỗi dòng chứa ui, vi, ti.
 p dòng tiếp theo, mỗi dòng chứa cặp sj, fj.
 Các số trên cùng dòng cách nhau ít nhất một khoảng trắng.
Kết quả: Đưa ra file văn bản Bus.out:
 Ghi p dòng đầu tiên theo thứ tự p yêu cầu đã cho, mỗi dòng nếu tìm thấy thì ghi số
tuyến ít nhất và thời gian ít nhất, ngược lại thì dòng đó ghi -1.
 Ghi thêm dòng cuối cùng chứa tổng số tuyến ít nhất và tổng thời gian ít nhất của p
yêu cầu, ngoại trừ yêu cầu không tìm thấy.
 Các số trên cùng 1 dòng cách nhau 1 khoảng trắng.
Ví dụ:
Bus.inp Bus.out

562 12

121 3 13
4 15
231

134
Buổi thi thứ 2 - Trang 2/4
345

456

517

13

15
Giải thích: s = 1, f = 3, số tuyến ít nhất là 1 vì đi qua 1 tuyến là (1,3), thời gian ít nhất là
2 do đi qua tuyến (1, 2) và (2, 3). Tương tự với s = 1, f = 5 ta cũng tìm được số tuyến ít
nhất là 3 và thời gian ít nhất là 13. Tổng số tuyến ít nhất 1+3=4, tổng thời gian ít nhất
2+13=15.
Ràng buộc: Có 60% số test ứng với 60% số điểm của bài có n ≤ 400, p ≤ 40000.

Bài 3. (7 điểm) Xây dựng thành phố


Nước Alpha đang lập kế hoạch xây dựng một thành phố mới và hiện đại. Theo kế
hoạch, thành phố sẽ có N vị trí quan trọng, được gọi là N trọng điểm và các trọng điểm
này được đánh số từ 1 tới N. Bộ giao thông đã lập ra một danh sách M tuyến đường hai
chiều có thể xây dựng được giữa hai trọng điểm nào đó. Mỗi tuyến đường có một thời
gian hoàn thành khác nhau.
Các tuyến đường phải được xây dựng sao cho N trọng điểm liên thông với nhau.
Nói cách khác, giữa hai trọng điểm bất kỳ cần phải di chuyển được đến nhau qua một số
tuyến đường. Bộ giao thông sẽ chọn ra một số tuyến đường từ trong danh sách ban đầu
để đưa vào xây dựng sao cho điều kiện này được thỏa mãn.
Do nhận được đầu tư rất lớn từ chính phủ, bộ giao thông sẽ thuê hẳn một đội thi
công riêng cho mỗi tuyến đường cần xây dựng. Do đó, thời gian để hoàn thành toàn bộ
các tuyến đường cần xây dựng sẽ bằng thời gian lâu nhất hoàn thành một tuyến đường
nào đó.
Yêu cầu: Giúp bộ giao thông tính thời gian hoàn thành các tuyến đường sớm nhất thỏa
mãn yêu cầu đã nêu.
Dữ liệu: Vào từ file văn bản City.inp:
 Dòng chứa số N và M (1 ≤ N ≤ 1000; 1 ≤ M ≤ 10000).
 M dòng tiếp theo, mỗi dòng chứa ba số nguyên u, v và t cho biết có thể xây dựng
tuyến đường nối giữa trọng điểm u và trọng điểm v trong thời gian t (1 ≤ t ≤ 10 5).
Không có hai tuyến đường nào nối cùng một cặp trọng điểm.
Kết quả: Một số nguyên duy nhất là thời gian sớm nhất hoàn thành các tuyến đường thỏa
mãn yêu cầu đã nêu, nếu không tìm được thì ghi -1.
Ví dụ:
City.inp City.out
57 3
122
151
251

Buổi thi thứ 2 - Trang 3/4


143
132
532
344
Ràng buộc: Có 60% số test ứng với 60% số điểm của bài có N ≤ 250, M ≤ 2500.

--Hết--

Buổi thi thứ 2 - Trang 4/4

You might also like