Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

SỞ GD&ĐT THANH HOÁ ĐỀ KHẢO SÁT CHẤT LƯỢNG HSG THPT

KHỐI TRƯỜNG THPT HUYỆN NĂM HỌC 2023 – 2024


HOẰNG HÓA Môn thi: Tin học
(Đề thi gồm có 03 trang ) Thời gian làm bài: 150 phút
(Không kể thời gian giao đề)
Ngày thi: 21/09/2023
Họ và tên thí sinh:…………………………………………………….…….SBD:…………………
Tổng quan bài thi:

Tên bài File chương trình File dữ liệu vào File dữ liệu ra
Cặp xâu ký tự STRING.* STRING.INP STRING.OUT
Tìm số đặc biệt SPNUM.* SPNUM.INP SPNUM.OUT
Tìm đoạn con MMSEG.* MMSEG.INP MMSEG.OUT
Xâu con phân biệt DIFFSSTR.* DIFFSSTR.INP DIFFSSTR.OUT
Tập chạy TAPCHAY.* TAPCHAY.INP TAPCHAY.OUT
Phần mở rộng .* được thay thế bằng CPP, Py ứng với các ngôn ngữ lập trình C++, Python.
Đề bài:

Bài 1. (6,0 điểm): Cặp xâu ký tự

Bài toán đặt ra là cho trước các cặp xâu ký tự, đều chỉ bao gồm các chữ cái viết thường, hay xác định
xem mỗi cặp xâu có được tạo ra từ cùng một bộ ký tự giống nhau hay không.
Chú ý: các ký tự lặp cũng phải được xem xét. Ví dụ: “abc”và “aabbbcccc” không được xem là tạo nên bởi
cùng một bộ ký tự vì xâu thứ 2 các chữ cái được lặp lại nhiều lần hơn.
Dữ liệu: cho trong file văn bản STRING.INP gồm nhiều bộ test, mỗi bộ test gồm hai dòng ghi hai xâu
cần kiểm tra, chỉ bao gồm các ký tự viết thường và không quá 1000 ký tự. Input kết thúc khi gặp hai dòng ghi
chữ END.
Kết quả: Với mỗi bộ test, ghi ra file văn bản STRING.OUT kết quả bài toán (ghi ra same nếu thỏa mãn
yêu cầu và ghi ra different nếu không thỏa mãn) ứng với từng bộ test
Ví dụ:
STRING.INP STRING.OUT
testing same
intestg different
abc same
aabbbcccc different
abcabcbcc
aabbbcccc
abc
xyz
END
END

Bài 2. (5 điểm) Tìm số đặc biệt.


Đức đang học về số học, cậu bé rất yêu thích những con số có tính chất đặc biệt. Số đặc biệt là số
nguyên dương có đúng 3 ước nguyên dương. Với một số nguyên dương k cậu ấy muốn biết có bao nhiêu số
đặc biệt trong các số 1,2,3,..,k
Dữ liệu: Cho từ file văn bản SPNUM.INP một số nguyên dương k (k ≤ 1012)

Kết quả: Ghi ra file văn bản SPNUM.OUT là kết quả của bài toán.

Ví dụ:
SPNUM.INP SPNUM.OUT

6 1

125 5

Giới hạn:
-
Có 50% các test có k ≤ 104
-
Có 25% các test có k ≤ 106
-
Có 25% các test có k ≤ 1012
Bài 3. (4 điểm) Tìm đoạn con
Cho một dãy gồm 𝑛 số nguyên 𝐴 = (𝑎1 , 𝑎2 , … , 𝑎𝑛 ). Ta định nghĩa: đoạn con của dãy 𝐴 là một dãy các
phần tử liên tiếp nhau thuộc A. Hoặc có thể viết (𝑎𝑖 , 𝑎𝑖+1 , … , 𝑎𝑗 ) là một đoạn con của A với 𝑖 ≤ 𝑗. Độ dài của
đoạn con được tính là số phần tử của đoạn con đó, ví dụ, đoạn con trên có độ dài là 𝑗 − 𝑖 + 1. Tìm một đoạn
con có độ dài ngắn nhất chứa cả số lớn nhất và số nhỏ nhất của dãy 𝐴.
Dữ liệu: Vào từ file văn bản MMSEG.INP gồm
+ Dòng đầu chứa số nguyên dương 𝑛 (1 ≤ 𝑛 ≤ 105 ).
+ Dòng tiếp theo chứa 𝑛 số nguyên 𝑎1 , 𝑎2 , … . , 𝑎𝑛 . (|ai| ≤ 2.109).
Kết quả: Ghi ra file văn bản MMSEG.OUT gồm một số duy nhất là độ dài của đoạn con tìm được thỏa mãn
yêu cầu đề bài.
Ví dụ:
MMSEG.INP MMSEG.OUT

8 2

13628138

BÀI 4. (3 điểm) 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 5. (2 điểm) Tập chạy

Khánh muốn tăng cường sức khỏe nên anh ấy tham gia tập chạy. Mỗi ngày Khánh chạy chính xác n
phút, tại mỗi phút bất kì, có thể lựa chọn chạy hay nghỉ ngơi trong phút đó. Khi bắt đầu chạy độ mệt mỏi của
Khánh là 0. Tại phút t bất kì, nếu chọn phương án là chạy thì Khánh chạy được chính xác d t mét và độ mệt
mỏi sẽ tăng lên 1 đơn vị, tuy nhiên độ mệt mỏi không được tăng quá M; nếu chọn nghỉ ngơi thì độ mệt mỏi
giảm đi 1 đơn vị, độ mệt mỏi không thể giảm quá 0 (độ mệt mỏi đang là 0 mà chọn nghỉ ngơi thì sau khi nghỉ
ngơi độ mệt mỏi vẫn là 0). Khánh chỉ có thể bắt đầu chạy trở lại khi không mệt mỏi. Sau khi kết thúc n phút
chạy Khánh cũng phải cảm thấy không mệt mỏi thì mới tăng cường được sức khỏe.

Yêu cầu: Hãy tìm khoảng cách lớn nhất mà Khánh có thể chạy.

Dữ liệu: Vào từ file văn bản TAPCHAY.INP gồm 2 dòng:

• Dòng đầu chưa 2 số nguyên dương n và M (1 ≤ n ≤104, 1≤M ≤ 500)


• Dòng tiếp theo chứa n số nguyên dương, số thứ t là dt (1≤dt ≤ 1000).
Kết quả: Ghi ra file văn bản TAPCHAY.OUT: một số là khoảng cách lớn nhất mà Khánh có thể chạy được.

Ví dụ

TAPCHAY.INP TAPCHAY.OUT

52 9

5 3 4 2 10

Giải thích: phút 1 chạy (được 5 mét) độ mệt mỏi là 1,phút 2 nghỉ ngơi, phút 3 chạy (được 4 mét), nghỉ ngơi
phút 4 và 5, tổng quãng đường chạy được là 9 mét.
Rằng buộc:

• Có ½ các test có N ≤ 103


• Có 1/3 các test còn lại có 103 < N ≤ 104

--------------HẾT-------------
Cán bộ coi thi không giải thích gì thêm.

You might also like