You are on page 1of 12

ĐỀ THI HSG LỚP 12 TỈNH QUẢNG TRỊ

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

Yêu cầu: Hãy đếm số lượng bộ số bạn bè khi biết 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ụ

BSBB.INP BSBB.OUT Giải thích


4 5 N = 4 có các bộ số bạn bè là:
5 8 (1,1,3); (1,2,2); (1,3,1);
(2,1,2); (3,1,1)

Ràng buộc:

● Có 50% số điểm tương ứng với N ≤ 500

● Có 30% số điểm tương ứng với 500 < N ≤ 5000

● Có 20% số điểm tương ứng với 5000 < N ≤ 106


BÀI 2. MẬT ONG
Một đàn ong có N con được đánh số từ 1 đến N, con thứ i (1 ≤ i ≤ N) có trọng lượng là
một số nguyên dương Ai (1 ≤ Ai ≤ 106). Biết rằng nếu một con ong có trọng lượng X thì một
ngày nó sản xuất được lượng mật ong là X x f(X), với f(X) là số lượng ước dương của X.

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 đầu tiên chứa số nguyên dương N

● 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ụ

MATONG.INP MATONG.OUT Giải thích


4 23 Tổng lượng mật của đàn ong là:
1 2 3 4 1 x 1 + 2 x 2 + 3 x 2 + 4 x 3 =
23

Ràng buộc:

● Có 50% số điểm tương ứng với 1 < N ≤ 500

● Có 30% số điểm tương ứng với 500 < N ≤ 1000

● Có 20% số điểm tương ứng với 1000 < N ≤ 105

BÀI 3. PHÂN HẠNG NGỌC TRAI


Một chuỗi ngọc trai S gồm N hạt được xâu lại với nhau, các hạt được đánh số từ 1 đến N,
mỗi hạt có một màu xác định được mã hóa bằng một chữ cái in hoa trong bảng chữ cái tiếng
Anh. Hai đoạn ngọc trai trong S là giống nhau khi độ dài của chúng bằng nhau và màu của các
cặp hạt tương ứng theo thứ tự xuất hiện trong hai đoạn cũng hoàn toàn giống nhau. Ví dụ hai
đoạn AB và AB là giống nhau nhưng AB và BA thì không giống nhau.

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ụ

PHNT.INP PHNT.OUT Giải thích


3 1 Tổng lượng mật của đàn ong là:
ABC 1 x 1 + 2 x 2 + 3 x 2 + 4 x 3 =
23
5 3 Chuỗi ngọc trai AABAA không thể
xếp loại 2 vì có hai đoạn ngọc
AABAA
trai độ dài 2 giống nhau. Tất cả
các đoạn ngọc trai có độ dài 3
là: AAB, ABA,BAA chúng hoàn toàn
phân biệt

Ràng buộc:

● Có 50% số điểm tương ứng với N ≤ 100

● Có 30% số điểm tương ứng với 100 < N ≤ 1000

● Có 20% số điểm tương ứng với 1000 < N ≤ 104

BÀI 4. QUA SÔNG


Nhà của Dế Mèn và trường làng cách nhau một con sông. Giữa dòng sông có N hòn đá
nhô lên khỏi mặt nước được đánh số thứ tự từ 1 đến N theo hướng từ nhà đến trường. Mỗi lần
đi học, Dế Mèn phải nhảy lên các hòn đá bắt đầu từ hòn đá thứ 1 và kết thúc ở hòn đá thứ N để
lên bờ bên kia.Với mỗi bước nhảy, nếu đang đứng ở hòn đá thứ x, Dế Mèn có thể nhảy đến hòn
đá thứ x + d, với d là một số nguyên dương thuộc một trong K đoạn các số nguyên dương rời
nhau lần lượt là [L1, R1], [L2, R2], ..., [LK, RK].

Để đả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;

● Trong K dòng tiếp theo, dòng thứ i (1 ≤ i ≤ K) ghi hai số Li, Ri (1 ≤ Li ≤ Ri ≤


N)

● 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ụ

QUASONG.INP QUASONG.OUT Giải thích


6 1 2 Các cách đi là:
2 3 1 → 3 → 6
1 → 4→ 6
5 2 4 Các cách đi là:
1 1 1 → 2 → 3 → 4 → 5
3 5 1 → 2 → 5
1 → 4 → 5
1 → 5

Ràng buộc:

● Có 20% số điểm tương ứng với N ≤ 10 và K = 1;

● Có 30% số điểm tương ứng với 10 < N ≤ 100 và K = 1;

● 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++

BÀI 1. MẬT KHẨU


Sau một thời gian không sử dụng Email, Minh đã quên mật khẩu đăng nhập. Minh chỉ
nhớ rằng mật khẩu là một số nguyên lớn nhất có N chữ số và tổng các chữ số của nó đúng bằng
S.

Yêu cầu: Hãy giúp minh tìm lại mật khẩu.

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

BÀI 2. CẤP SỐ CỘNG


Cho cấp số cộng (um) có công sai d là số nguyên khác 0.

Tức là: um = um-1 + d (m∈ N ¿ , m≥ 2 , d ∈ Z , d ≠ 0 ¿

Ví dụ: dãy số 2, 5, 8, 11... là một cấp số cộng với công sai d = 3 và u1 = 2.


Yêu cầu: Cho số nguyên dương u1 là phần tử đầu tiên của một cấp số cộng, công sai d và
một số nguyên dương x. Hãy cho biết x có thuộc (um) không, nếu có thì x là phần tử thứ mấy?

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ụ

ARIPOG.INP ARIPOG.OUT Giải thích


1 3 9 -1 u1 = 1, d = 3 ta có (um) là
1,4,7,10,... do đó 9 không thuộc (um)
2 –2 -6 5 u1 = 2, d = -2 ta có (um) là 2, 0, -
2, -4, -6, -8, ... do đó -6 thuộc
(um) và ở vị trí thứ 5

BÀI 3. PHÂN SỐ LỚN NHẤT


Cho một dãy gồm N số nguyên không âm A1, A2, ... AN.

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 đầu tiên chứa số nguyên dương N (2 ≤ N ≤ 105).

● 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

BÀI 4. CẮT DÂY


Có N sợi dây, sợi thứ i (i = 1...N) có độ dài Li là một số nguyên dương. Để tạo ra K đoạn
dây mà mỗi đoạn dây có độ dài đúng bằng M, người ta chọn và cắt một số sợi dây trong N sợi
dây đã cho tại các vị trí nguyên. Biết rằng mỗi nhát chỉ cắt được một sợi dây thành hai đoạn.

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 đầu tiên ghi ba số nguyên dương N, K và M (N, M ≤ 105; K ≤ 109);

● 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++

BÀI 1. CHỌN QUÀ


Cuối năm công ty tổ chức phát quà cho nhân viên. Có N gói quà với giá trị khác nhau
được xếp liên tiếp thành một hàng, trong đó gói quà thứ i có giá trị là a i. Mỗi nhân viên chỉ
được chọn 2 gói quà liên tiếp. Mr. Bean là người may mắn là người chọn đầu tiên, bạn hãy giúp
Mr. Bean chọn ra 2 gói quà liên tiếp có giá trị lớn nhất.

Dữ liệu:

● Dòng 1: chứa số nguyên dương N (2 ≤ N ≤ 106)

● 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

BÀI 2. GIẢM GIÁ TRỊ


Một ngày rảnh rỗi, Mr. Bean chơi trò chơi với những con số. Mr. Bean lấy một số nguyên
dương N rồi thực hiện không giới hạn số lần thao tác “Chọn một chữ số X trong số nguyên
dương N rồi giảm N đi X đơn vị”. Hỏi Mr. Bean phải thực hiện ít nhất bao nhiêu thao tác như
vậy để giảm số N về 0.

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:

● Dòng 1: Một số nguyên duy nhất N (1 ≤ N ≤ 106).

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

BÀI 3. XÂU CON PHÂN BIỆT


Một lần Mr. Bean được bạn gái gửi cho một dãy ký tự S độ dài n chỉ gồm các chữ cái in
hoa (‘A’...’Z’). Bạn gái nhờ Mr. Bean xác định "Độ phân biệt" của dãy ký tự trên. Trong đó
Độ phân biệt của dãy ký tự là số nguyên dương l nhỏ nhất sao cho tất cả các xâu con của S độ
dài l là đôi một phân biệt.

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:

● Dòng 1: số nguyên dương n (n ≤ 100).

● Dòng 2: chứa xâu ký tự S

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

Bài 4. KIẾN THA MỒI


Trên đường đi làm về Mr. Bean quan sát thấy hai tổ kiến cách nhau một khoảng L đơn vị.
Các con kiến đang tha mồi về hai tổ trên đường thẳng nối hai tổ kiến với nhau. Các con kiến
khi tha mồi về tổ nào thì ở lại tổ đó. Nếu hai con kiến gặp nhau trên đường đi thì cả hai sẽ đổi
hướng di chuyển.

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:

● Dòng 1: hai số nguyên dương n và L (1 ≤ n ≤ 5.104; 1 ≤ L ≤ 109)

● Dòng 2 ... n + 1: Dòng i + 1 ghi ba số nguyên w i, x i, d i (1 ≤ w i ≤ 103; d i = ±1; 0 ≤


x i ≤ L), các x i là đôi một phân biệt. Các số nguyên cách nhau một dấu cách.

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ụ:

ANTMEET.INP ANTMEET.OUT Giải thích


3 5 2 ● Thời điểm 0.5, kiến 1 gặp kiến 2 ở tọa độ
1 1 1 1.5, kiến 1 đổi hướng thành -1, kiến 2 đổi
hướng thành 1
2 2 -1
● Thời điểm 1, kiến 2 gặp kiến 3 ở tọa độ 2,
3 3 -1 kiến 2 đổi hướng thành -1, kiến 3 đổi
hướng thành 1.
● Thời điểm 2: kiến 1 về đến tổ ở tọa độ 0
● Thời điểm 3: kiến 2 về đến tổ ở tọa độ 0,
lúc này lượng mồi đạt được ở hai tổ là 3,
bằng một nửa tổng lượng mồi của cả 3
kiến.

You might also like