You are on page 1of 3

Tên bài File chương trình File dữ liệu vào File dữ liệu ra Điểm

Bài 1 Dãy con hoàn hảo SEQ.* SEQ.INP SEQ.OUT 6


Bài 2 Đôi thỏ BUNNY.* BUNNY.INP BUNNY.OUT 4
Bài 3 Xâu con đối xứng PALIN.* PALIN.INP PALIN.OUT 6
Bài 4 Sơ tán EVA.* EVA.INP EVA.OUT 4

Hãy lập trình giải các bài toán sau:

Bài 1. (6 điểm) Dãy con hoàn hảo


Cho một dãy số nguyên a1 , a2 , a3 , …, a n và một số nguyên k. Một dãy con
1 ≤ i ≤ j ≤ n được gọi là hoàn hảo nếu như: ai + a i + 1 + a i + 2 + … + a j = k.
Yêu cầu: Hãy đếm xem có bao nhiêu dãy con hoàn hảo từ dãy đã cho.
Dữ liệu: Vào từ file văn bản SEQ.INP gồm:
 Dòng đầu tiên chứa số n (n ≤ 105) và k (| k | ≤ 104 ) cách nhau bởi dấu cách.
 Dòng tiếp theo chứa n số nguyên ai (| ai | ≤ 104 ).
Kết quả: Ghi ra file văn bản SEQ.OUT một số duy nhất là số lượng dãy con hoàn
hảo từ dãy đã cho.
Ví dụ:

SEQ.INP SEQ.OUT

55 2
12345

Chú ý: Có 60% số test tương ứng với 60% số điểm của bài có n ≤ 100.

Bài 2. (4 điểm) Đôi thỏ


Có một chú thỏ nâu thích một cô thỏ trắng ở gần cuối khu rừng. Vào một ngày
đẹp trời, thỏ nâu quyết định sang rủ thỏ trắng cùng đi ngắm hoa và thưởng thức
những củ cà rốt ngon tuyệt mà chú kiếm được. Hang của chú thỏ nâu và cô thỏ trắng
cách nhau n mét (n ≤ 109). Do từ nhỏ đã bị vòng kiềng bẩm sinh, mỗi bước thỏ nâu
chỉ có thể nhảy xa được 1 mét, 2 mét hay 3 mét theo quy tắc:
Các bước xa 3 mét phải thực hiện
trước các bước xa 2 mét. Các bước xa 2 mét
phải thực hiện trước các bước xa 1 mét.
Yêu cầu: Đếm số cách nhảy có thể của chú
thỏ nâu trên đường đến hang cô thỏ trắng.
Dữ liệu: Vào từ file văn bản BUNNY.INP
gồm duy nhất số n nguyên dương (0 ≤ n ≤
109)
Kết quả: Ghi ra file văn bản BUNNY.OUT một số duy nhất là số cách nhảy của thỏ
nâu.
Ví dụ:
BUNNY.INP BUNNY.OUT
5 5
Chú ý: Có 60% số test của bài có n ≤ 105

Bài 3. (6 điểm) Xâu con đối xứng


Một vụ trọng án vừa xảy ra. Tại hiện trường người ta tìm thấy một mẩu giấy
nhỏ ghi dòng chữ chứa các kí tự la tinh. Đây là một manh mối quan trọng để phá vụ
án này. Đội nghiệp vụ phá án đã phát hiện có một nhóm tội phạm thường mã hóa tin
của mình dưới dạng các xâu đối xứng. Để thu hẹp phạm vi tìm kiếm nghi can. Trước
hết cần phải kiểm tra dòng chữ trên mẩu giấy, tìm một xâu con đối xứng có độ dài
lớn nhất. Nếu trong trường hợp có nhiều xâu con thỏa mãn thì mật mã là xâu con đối
xứng có thứ tự từ điển lớn nhất tìm được. (Với xâu con là một dãy các kí tự liên tiếp)
Yêu cầu: Hãy xác định mật mã ghi trong mẩu giấy đó.
Dữ liệu: Vào từ tệp PALIN.INP gồm:
 Dòng đầu tiên là số n, độ dài của dòng chữ ghi trên mẩu giấy (1 ≤ n ≤ 104).
 Dòng thứ 2 là dòng chữ ghi trên mẩu giấy.
Kết quả: Ghi ra tệp văn bản PALIN.OUT gồm:
 Dòng đầu tiên là độ dài xâu con đối xứng dài nhất.
 Dòng thứ 2 là xâu con đối xứng dài nhất có thứ tự từ điển lớn nhất tìm được.
Ví dụ:
PALIN.INP PALIN.OUT
4 3
Abab bab
Chú ý: Có 50% số test của bài có n ≤ 100
Bài 4. (4 điểm) Sơ tán
Một trung tâm nghiên cứu tuyệt mật có n phòng thí nghiệm đặt ngầm trong
lòng đất. Các phòng thí nghiệm được đánh số từ 1 đến n (1 ≤ n ≤ 105). Giữa một số
phòng có đường hầm nối với nhau, sao cho từ một phòng bất kỳ có thể đi đến phòng
bất kỳ khác (có thể phải đi qua một số phòng nào đó). Độ dài mỗi đường hầm là như
nhau và thời gian đi hết một đường hầm là 1. Không có đường hầm nào nối một
phòng với chính nó, nhưng có thể có nhiều đường hầm cùng nối 2 phòng với nhau và
tổng cộng trong Trung tâm có tất cả m đường hầm (1 ≤ m ≤ 105). Đường hầm cho
phép đi lại theo cả hai chiều. Có k phòng có lối thoát hiểm lên mặt đất (1 ≤ k ≤ n).
Trong trường hợp sơ tán khẩn cấp, tất cả các nhân viên phải tập trung ở những phòng
có lối thoát hiểm.
Yêu cầu: Hãy xác định thời gian tối thiểu để nhân viên mỗi phòng tập trung về
phòng có lối thoát hiểm trong trường hợp phải sơ tán khẩn cấp.
Dữ liệu: Vào từ file văn bản EVA.INP
 Dòng đầu tiên chứa 2 số nguyên n và k;
 Dòng thứ 2 chứa k số nguyên khác nhau cho biết các phòng có cửa thoát
hiểm;
 Dòng thứ 3 chứa số nguyên m;
 Mỗi dòng trong m dòng tiếp theo chứa 2 số nguyên xác định cặp phòng có
đường hầm nối trực tiếp.
Kết quả: Ghi ra file văn bản EVA.OUT một dòng chứa n số nguyên, số thứ i xác
định thời gian tối thiểu để nhân viên phòng i đi được tới phòng có lối thoát hiểm.
Ví dụ:
EVA.INP EVA.OUT
10 2 1412132030
10 8
9
67
75
58
81
1 10
10 3
34
49
92
Chú ý: Có 50% số test của bài có n ≤ 1000

You might also like