Professional Documents
Culture Documents
Bài Tên bài Tên file Tên file input Tên file output Điểm
1 Bộ số bạn bè BSBB.* BSBB.INP BSBB.OUT 5
2 Mật ong MATONG.* MATONG.INP MATONG.OUT 5
3 Phân hạng ngọc trai PHNT.* PHNT.INP PHNT.OUT 5
4 Qua sông QUASONG. QUASONG.INP QUASONG.OUT 5
*
Dấu * là PYTHON hoặc CPP tùy theo ngôn ngữ lập trình được thí sinh lựa chọn là
PYTHON hay C++
BÀI 1. BỘ SỐ BẠN BÈ
Bộ ba số nguyên dương (A, B, C) được gọi là một bộ số bạn bè nếu thỏa mãn A x B + C =
N.
Dữ liệu vào: đọc từ file văn bản BSBB.INP chứa duy nhất số nguyên dương N.
Kết quả ra: Ghi ra file văn bản BSBB.OUT một số duy nhất là kết quả đếm được.
Ví dụ
Ràng buộc:
Yêu cầu: Hãy tính tổng lượng mật sản xuất được trong một ngày của cả đàn ong.
Dữ liệu vào: đọc từ file văn bản MATONG.INP có cấu trúc như sau:
● Dòng thứ hai ghi lần lượt A1, A2, ..., AN cách nhau một dấu cách.
Kết quả ra: Ghi ra file văn bản MATONG.OUT một số duy nhất là tổng lượng mật sản
xuất được trong một ngày của cả đàn ong.
Ví dụ
Ràng buộc:
Hạng của chuỗi ngọc trai S là một số nguyên dương K nhỏ nhất sao cho không tồn tại hai
đoạn ngọc trai bất kỳ giống nhau có độ dài K.
Yêu cầu: Hãy xác định hạng của một chuỗi ngọc trai S.
Dữ liệu vào: đọc từ file văn bản PHNT.INP có cấu trúc như sau:
● Dòng đầu tiên chứa số nguyên dương N là số hạt trong chuỗi ngọc trai S.
● Dòng thứ hai ghi N ký tự liên tiếp thể hiện lần lượt là màu của từng hạt trong S.
Kết quả ra: Ghi ra file văn bản PHNT.OUT một số duy nhất là hạng của chuỗi S.
Ví dụ
Ràng buộc:
Để đảm bảo an toàn, mỗi lần sang sông Dế Mèn sẽ đi theo một cách khác nhau. Hai cách
khác nhau nếu như có ít nhất một bước nhảy khác nhau.
Yêu cầu: Hãy đếm số cách đi khác nhau mà Dế Mèn có thể thực hiện được.
Dữ liệu vào: đọc từ file văn bản QUASONG.INP có cấu trúc như sau:
● Dòng đầu tiên ghi hai số nguyên dương N, K;
● Các số trong tệp viết cách nhau ít nhất một dấu cách.
Kết quả ra: Ghi ra file văn bản QUASONG.OUT một số duy nhất là số cách khác nhau
mà Dế Mèn có thể thực hiện được khi chia lấy dư cho 1000000007.
Ví dụ
Ràng buộc:
● Có 20% số điểm tương ứng với 100 < N ≤ 104 và 1 < K ≤ 10;
● Có 30% số điểm tương ứng với 104 < N ≤ 2 x 105 và 1 < K ≤ 10.
ĐỀ THI HSG LỚP 12 TỈNH KHÁNH HÒA
NĂM HỌC 2020 - 2021
Tổng quan đề thi
Bài Tên bài Tên file Tên file input Tên file output Điểm
1 Mật khẩu PASSWORD. PASSWORD.INP PASSWORD.OUT 5
*
2 Cấp số cộng ARIPOG.* ARIPOG.INP ARIPOG.OUT 5
3 Phân số lớn nhất MAXF.* MAXF.INP MAXF.OUT 5
4 Cắt dãy CUTLINE.* CUTLINE.INP CUTLINE.OUT 5
Dấu * là PYTHON hoặc CPP tùy theo ngôn ngữ lập trình được thí sinh lựa chọn là
PYTHON hay C++
Dữ liệu vào: đọc từ file văn bản PASSWORD.INP ghi hai số nguyên dương N và S (1
≤ N ≤ 104; 0 ≤ S ≤ 106) trên cùng một dòng và cách nhau một dấu cách.
Kết quả ra: Ghi ra file văn bản PASSWORD.OUT một số duy nhất là mật khẩu cần tìm.
Nếu không tìm được mật khẩu thì ghi ra số -1.
Ví dụ
PASSWORD.INP PASSWORD.OUT
5 12 93000
3 29 -1
Dữ liệu vào: đọc từ file văn bản ARIPOG.INP chứa ba số nguyên u1, d và x (|u1| ≤ 109,
|x| ≤ 109, |d| ≤ 109 và d ≠ 0) được ghi cách nhau một dấu cách.
Kết quả ra: Ghi ra file văn bản ARIPOG.OUT một số duy nhất là vị trí của x trong dãy
(um). Nếu x không thuộc (um) thì ghi ra -1.
Ví dụ
Yêu cầu: Hãy chọn ra một cặp số trong đó một số làm tử số và một số làm mẫu số để tạo
thành một phân số mà phân số đó có giá trị lớn nhất nhỏ hơn 1.
Dữ liệu vào: đọc từ file văn bản MAXF.INP có cấu trúc như sau:
● Dòng thứ hai ghi N số nguyên A1, A2, ..., AN (Ai ≤ 109, i = 1...N). Các số ghi cách
nhau một dấu cách.
Kết quả ra: Ghi ra file văn bản MAXF.OUT là cặp số tìm được theo thứ tự tử số trước,
mẫu số sau. Nếu tìm được nhiều kết quả thỏa mãn yêu cầu bài toán thì in cặp số nhỏ nhất. Nếu
không tìm được kết quả theo yêu cầu của bài toán thì ghi ra -1.
Ví dụ
MAXF.INP MAXF.OUT
5 4 6
4 6 9 2 1
5 1 2
1 2 1 10 20
3 -1
4 4 4
Yêu cầu: Tính số nhát cắt ít nhất để có được đúng K đoạn dây mà mỗi đoạn có độ dài
đúng bằng M.
Dữ liệu vào: đọc từ file văn bản CUTLINE.INP có cấu trúc như sau:
● Dòng thứ hai ghi N số nguyên dương L1, L2, ..., LN có giá trị không vượt quá 106.
Các số trên cùng một dòng được ghi cách nhau bởi một dấu cách.
Kết quả ra: Ghi ra file văn bản CUTLINE.OUT một số duy nhất là số nhát cắt ít nhất
tìm được. Nếu bài toán không có lời giải thì ghi số -1.
Ví dụ
CUTLINE.INP CUTLINE.OUT
6 11 3 9
1 2 9 15 7 11
ĐỀ THI HSG LỚP 12 TỈNH VĨNH PHÚC
NĂM HỌC 2020 - 2021
Tổng quan đề thi
Bài Tên bài Tên file Tên file input Tên file output Điểm
1 Chọn quà MAXGIF.* MAXGIF.INP MAXGIF.OUT 5
2 Giảm giá trị DECREASE.* DECREASE.INP DECREASE.OU 5
T
3 Xâu con phân biệt DIFFSSTR.* DIFFSSTR.INP DIFFSSTR.OUT 5
4 Kiến tha mồi ANTMEET.* ANTMEET.INP ANTMEET.OUT 5
Dấu * là PYTHON hoặc CPP tùy theo ngôn ngữ lập trình được thí sinh lựa chọn là
PYTHON hay C++
Dữ liệu:
● Dòng 2: Trị giá của N gói quà (1 ≤ a i ≤ 103), mỗi giá trị cách nhau bởi dấu cách.
Dữ liệu ra:
● Một dòng duy nhất chứa tổng giá trị quà lớn nhất chọn được.
Ví dụ:
MAXGIF.INP MAXGIF.OUT
5 9
1 3 5 4 2
Ví dụ: N = 27, Mr. Bean sẽ thực hiện 5 thao tác để biến đổi là
1. Chọn X = 7 → N = 27 – 7 = 20
2. Chọn X = 2 → N = 20 – 2 = 18
3. Chọn X = 8 → N = 18 – 8 = 10
4. Chọn X = 1 → N = 10 – 1 = 9
5. Chọn X = 9 → N = 9 – 9 = 0
Dữ liệu:
Kết quả:
● Một dòng duy nhất ghi số thao tác ít nhất để biến đổi N về 0.
Ví dụ:
DECREASE.INP DECREASE.OUT
27 5
Chẳng hạn với n = 7; S = 'ABCDABC' thì l = 4 do tất cả các xâu con độ dài 4 đều phân
biệt. Bạn hãy giúp Mr. Bean việc đó.
Dữ liệu:
Kết quả:
● Gồm một dòng duy nhất ghi một số nguyên duy nhất là "Độ phân biệt" của dãy ký tự
S.
Ví dụ:
DIFFSSTR.INP DIFFSSTR.OUT
7 4
ABCDABC
Giả sử đường nối giữa hai tổ kiến được gắn tọa độ từ 0 đến L. Tổ thứ nhất ở vị trí 0 và tổ
thứ hai ở vị trí L. Ở thời điểm Mr. Bean quan sát có n con kiến đang tha mồi về tổ. Con thứ i
xuất phát ở tọa độ x i, mang lượng mồi khối lượng w i và có hướng di chuyển d i. Nếu d i = 1 thì
con kiến thứ i đang di chuyển theo hướng 0 về L, d i = -1 thì con kiến thứ i đang di chuyển theo
chiều ngược lại. Tất cả các con kiến có tốc độ di chuyển bằng nhau và bằng 1 đơn vị đo độ dài
trên giây.
Gọi T là thời điểm sớm nhất tính từ thời điểm quan sát mà tổng lượng mồi được tha về hai
tổ đạt ít nhất một nửa tổng lượng mồi của đàn kiến. Mr. Bean đếm được trong thời gian đó các
con kiến gặp nhau đúng X lần, tính cả lần gặp nhau ở thời điểm T . Hỏi X bằng bao nhiêu?
Dữ liệu:
Kết quả:
● Một dòng duy nhất chứa số nguyên dương X là số lần gặp nhau của các cặp kiến
Ví dụ: