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