Professional Documents
Culture Documents
Chú ý: Dấu * được thay thế bởi PAS, CPP hoặc PY của ngôn ngữ lập trình được sử dụng
tương ứng là Pascal , Free Pascal, C++ hoặc python
Bài 1 (5,0 điểm). Dãy kí tự
Cho một robot được lập trình di chuyển trên một hàng ngang gồm các ô vuông. Mỗi ô được đặt
tên bằng các kí tự theo thứ tự từ ′𝐴′ đến ′𝑍′ và được lặp lại vô hạn. Ban đầu robot xuất phát ở ô
thứ 1 có tên là ′𝐴′ và nhảy đến các ô tiếp theo quy luật: lần 1 nhảy 1 ô, lần 2 nhảy 2 ô, lần 3 nhảy
3 ô, …, lần 𝑁 nhảy 𝑁 ô. Vậy sau 𝑁 lần nhảy thì robot đang ở ô nào?
Khảo sát HSG lần 5. Đề môn Tin học có 03 trang. Trang 1/3
x ∈ [ L; R ];
x chia hết cho D ;
Tổng các chữ số của x bằng D .
Dữ liệu vào: Đọc từ file văn bản DIGIT.INP:
Dòng đầu tiên chứa số nguyên dươngT là số bộ test;
T dòng tiếp theo, mỗi dòng chứa ba số nguyên dương L , R , D(D ≤ 26).
Kết quả ra: Ghi ra file văn bản DIGIT.OUT trên T dòng, mỗi dòng ghi kết quả tương ứng với
mỗi truy vấn.
Ví dụ:
DIGIT.INP DIGIT.OUT Giải thích
2 1 Test 1: x=12
7 20 3 2 Test 2: x=48 và x=84
35 110 12
hoặc là tồn tại một chỉ số k (1≤ k <| X|) sao cho x 1= y 1 ,... , x k = y k , x k+1 < y k+ 1.
Yêu cầu: Cho n chuỗi số và hai số nguyên L , R , hãy tìm mật khẩu thỏa mãn.
Dữ liệu: Vào từ file văn bản PASS.INP theo khuôn dạng:
- Dòng đầu chứa ba số nguyên n , L , R (1≤ L≤ R ≤ 103);
- Dòng thứ i(1 ≤i ≤n) chứa chuỗi thứ i chỉ gồm các kí tự chữ số.
Gọi S là tổng độ dài n chuỗi số, dữ liệu đảm bảo S ≤10 3.
Kết quả: Ghi ra file văn bản PASS.OUT mật khẩu thỏa mãn tìm được, hoặc −1 nếu không tồn tại
mật khẩu thỏa mãn.
Ràng buộc:
Có 40% số test ứng với 40% số điểm có n ≤ 6 ;
Có 20% số test khác ứng với 20% số điểm có n ≤ 100 và L ≤ S ≤ R ;
Có 20% số test khác ứng với 20% số điểm có n ≤ 100 và 1 ≤ L ≤ R ≤ 100 ;
Khảo sát HSG lần 5. Đề môn Tin học có 03 trang. Trang 2/3
Có 20% số test còn lại ứng với 20% số điểm có n ≤ 1000.
Ví dụ:
PASS.INP PASS.INP
345 23212
12
23
2
345 -1
123
234
345
334 312
12
3
02
Bài 4 (3,0 điểm). Đua ngựa
Tại trường đua ngựa, người ta chia đường đua ra làm n ô, một con ngựa tham gia cuộc đua sẽ
xuất phát tại vị trí của ô đánh số 1.
Mỗi con ngựa khi chạy, nó chỉ có thể nhảy từ ô đang đứng sang một số các ô khác ở bên phải phụ
thuộc vào số bước mà nó được huấn luyện từ trước.
Ví dụ: Một con ngựa được huấn luyện để chạy liên tục các bước {2, 3, 6}; khi ở vị trí 1, nó có thể
chạy 2 bước sang vị trí 3 hoặc chạy 3 bước để tới vị trí 4, con ngựa cũng có thể chạy 6 bước để
sang vị trí 7. Từ vị trí 2, 4 hoặc 7 nó lại nhảy theo số bước trong tập các bước nhảy {2, 3, 6} như
ở trên.
Yêu cầu: Cho số n là số ô trên đường đua của con ngựa, hãy tính số cách một con ngựa có thể
chạy từ ô có vị trí đánh số 1 tới ô có vị trí đánh số n mà nó không chạy ra ngoài đường đua.
Dữ liệu: Vào từ file văn bản KNPATH.INP:
5
Dòng đầu tiên chứa số nguyên dương n , m(n ≤ 10 ,m ≤100) là số ô trong trường đua và số
lượng bước mà con ngựa có thể chạy liên tục
Dòng thứ hai chứa m số nguyên dương phân biệt a 1 , a2 , … , am (ai ≤n) là những số bước con
ngựa có thể chạy liên tục
Kết quả: Ghi ra file văn bản KNPATH.OUT số lượng cách di chuyển tìm được. Vì đáp số có thể
rất lớn nên hãy in ra số dư khi chia cho 109 +7
Ví dụ:
KNPATH.INP KNPATH.OUT
10 2 55
12
------------- HẾT -------------
Thí sinh không được sử dụng tài liệu. Cán bộ coi thi không giải thích gì thêm.