You are on page 1of 3

SỞ GD&ĐT BẮC GIANG ĐỀ KHẢO SÁT HSG LẦN 5, NĂM HỌC 2023 - 2024

CỤM CÁC TRƯỜNG THPT MÔN THI: TIN HỌC – LỚP 11



Ngày thi: 15/01/2024
ề ĐỀ THI CHÍNH THỨC Thời gian làm bài 150 phút, không kể thời gian giao đề
thi
gồm 03 trang)

TỔNG QUAN VỀ ĐỀ THI


Thí sinh lập trình trên máy tính
Tên tệp Tên tệp Tên tệp Giới hạn
Tên bài
chương trình dữ liệu vào kết quả thời gian
Bài 1. Dãy kí tự DKT.* DKT.INP DKT.OUT 1 giây/test
Bài 2. Dãy số DIGIT.* DIGIT.INP DIGIT.OUT 1 giây/test
Bài 3. Mật khẩu PASS.* PASS.INP PASS.OUT 1 giây/test
Bài 4. Đua ngựa KNPATH.* KNPATH.INP KNPATH.OUT 1 giây/test

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?

Dữ liệu vào từ file văn bản DKT.INP:


Gồm một số nguyên dương 𝑁 là số lần nhảy của robot (𝑁 ≤ 109).
Kết quả ghi ra file văn bản DKT.OUT:
Một kí tự duy nhất là tên của ô sau 𝑁 lần robot nhảy.
Ràng buộc:
• Có 60% số test ứng với 60% số điểm của bài thoả mãn: 𝑁 ≤ 103;
• 20% số test khác ứng với 20% số điểm của bài thoả mãn: 𝑁 ≤ 106;
• 20% số test còn lại ứng với 20% số điểm của bài không có ràng buộc gì thêm.
Ví dụ:
DKT.INP DKT.OUT Giải thích
1 B Sau 1 lần nhảy, robot ở ô thứ 2, có tên là kí tự 𝐵.
4 K Sau 4 lần nhảy, robot ở ô thứ 11, có tên là kí tự 𝐾.
7 C Sau 7 lần nhảy, robot ở ô thứ 29, có tên là kí tự 𝐶.

Bài 2 (7,0 điểm). Dãy số


Cho ba số nguyên dương L , R và D . Hãy đếm số lượng số nguyên dương x thoả mãn:

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

Các giới hạn:

Subtasks % điểm Giới hạn


2 4
1 25 % T ≤ 10 , L< R< 10
18
2 30 % T =1 , L< R< 10
5 8
3 45 % T ≤ 10 , L< R <10
Bài 3 (5,0 điểm). Mật khẩu
Bạn có một danh sách gồm n chuỗi số yêu thích, đó là chuỗi số biểu diễn ngày sinh, đó là chuỗi
số của căn cước công dân,… Sau khi lập một hòm thư điện tử, với hai số nguyên dương
L , R (L≤ R), bạn muốn tìm một mật khẩu là một chuỗi số P thỏa mãn các tính chất sau:
- Chuỗi số P được ghép từ các chuỗi số yêu thích theo thứ tự nào đó, mỗi chuỗi được sử
dụng không quá một lần, gọi ¿ P∨¿ là độ dài chuỗi số P thì L ≤| P∨≤ R ;
- Chuỗi số P có thứ tự từ điển lớn nhất.
Nhắc lại, chuỗi X =x 1 x 2 … x|X| có thứ tự từ điển nhỏ hơn chuỗi Y = y 1 y 2 … y|Y| nếu:
 hoặc là x 1< y 1;
 hoặc là | X|<¿ Y ∨¿ và x 1= y 1 ,... , x ¿ X ∨¿= y ¿;
¿X∨¿¿

 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.

Họ và tên học sinh: ............................................................................................... SBD: …………………


Khảo sát HSG lần 5. Đề môn Tin học có 03 trang. Trang 3/3

You might also like