Bỏ qua để đến nội dung

HSG THCS Hưng Yên 2025-2026

SỞ GIÁO DỤC VÀ ĐÀO TẠO HƯNG YÊN ĐỀ CHÍNH THỨC
(Đề thi gồm 04 trang)

KỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNH THCS Năm học 2025 - 2026
Môn thi: Tin học
Thời gian làm bài: 150 phút, không kể thời gian giao đề
Hình thức thi lập trình trên máy tính


BàiTên bàiTên file chương trìnhTệp dữ liệu vàoTệp dữ liệu raĐiểm
1Vườn nhãnVUON.*VUON.INPVUON.OUT5,0
2Đếm số chính phươngDEMCP.*DEMCP.INPDEMCP.OUT5,0
3Bia đá Xích ĐằngBIA.*BIA.INPBIA.OUT4,0
4Khu rừng phi laoPHILAO.*PHILAO.INPPHILAO.OUT3,0
5Mã số Phố HiếnMASO.*MASO.INPMASO.OUT3,0

Lưu ý:

  • Thí sinh bắt buộc phải đặt tên file như trong bảng tổng quan. Dấu * trong phần tên chương trình tương ứng với phần mở rộng của ngôn ngữ lập trình thí sinh sử dụng (PAS, CPP, PY).
  • Chương trình của thí sinh đọc dữ liệu từ tệp dữ liệu vào và ghi kết quả ra tệp dữ liệu ra.

Hãy lập trình giải các bài toán sau:

Bác Kim có một khu vườn hình chữ nhật có kích thước hai chiều a và b (đơn vị: mét). Bác muốn lấy ra từ khu vườn ban đầu một mảnh vườn hình vuông có diện tích lớn nhất để trồng nhãn.

Khu vườn hình chữ nhật kích thước a × b, phần hình vuông cạnh b được tô đậm, phần còn lại gạch chéo

Yêu cầu: Hãy giúp bác Kim tính diện tích của mảnh vườn hình vuông được lấy ra. Trường hợp mảnh vườn của bác Kim đã vuông thì in ra số 1.

Dữ liệu vào từ tệp VUON.INP: Một dòng duy nhất gồm hai số nguyên dương a và b (1 ≤ a, b ≤ 10⁹) phân biệt với nhau bởi một dấu cách.

Kết quả ghi ra tệp VUON.OUT: Một số nguyên dương là kết quả của bài toán.

Subtask:

  • Subtask 1 (70% số điểm): 1 ≤ a, b ≤ 10⁶
  • Subtask 2 (30% số điểm): Không có ràng buộc gì thêm.

Ví dụ (Mỗi dòng trong bảng sau là một test độc lập):

VUON.INPVUON.OUT
6 416
20 201
12 18144

Lê Quý Đôn (danh nhân văn hóa, quê huyện Hưng Hà, tỉnh Thái Bình nay thuộc xã Lê Quý Đôn, tỉnh Hưng Yên) là một nhà bác học có kiến thức uyên bác. Ông đã để lại một kho tàng tri thức đồ sộ về văn chương, lịch sử, văn hóa,… Cuộc đời và sự nghiệp của ông là tấm gương về học tập cho bao thế hệ. Trong một lần ngoại khóa tìm hiểu về Lê Quý Đôn, được truyền cảm hứng, một bạn học sinh đã nghĩ ra một bài toán thú vị như sau:

“Số chính phương là một số nguyên dương có giá trị bằng tích của hai số nguyên bằng nhau. Cho hai số nguyên dương L và R. Hãy đếm số lượng các số chính phương trong đoạn [L; R]”.

Yêu cầu: Hãy giúp bạn học sinh giải bài toán nói trên.

Dữ liệu vào từ tệp DEMCP.INP: Một dòng chứa hai số nguyên dương L và R (0 < L ≤ R ≤ 10¹⁸) phân biệt với nhau bởi một dấu cách.

Kết quả ghi ra tệp DEMCP.OUT: Một số nguyên duy nhất là kết quả của bài toán.

Subtask:

  • Subtask 1 (70% số điểm): 0 < L ≤ R ≤ 10⁶.
  • Subtask 2 (30% số điểm): Không có ràng buộc gì thêm.

Ví dụ (Mỗi dòng trong bảng sau là một test độc lập):

DEMCP.INPDEMCP.OUTGiải thích
1 103Từ 1 đến 10 có 3 số chính phương là 1; 4; 9.
20 804Từ 20 đến 80 có 4 số chính phương là 25; 36; 49; 64.
26 300Từ 26 đến 30 không có số chính phương nào.

Văn Miếu Xích Đằng (tọa lạc tại phường Sơn Nam, tỉnh Hưng Yên) được mệnh danh là biểu tượng của nền văn hiến và tinh thần hiếu học Hưng Yên. Nơi đây hiện còn lưu giữ 9 tấm bia đá quý giá ghi danh 161 vị đại khoa của trấn Sơn Nam xưa.

Trong quá trình tu bổ và nghiên cứu văn bia, các nhà khảo cổ phát hiện một bản văn bia cổ có chứa một dòng kí tự S bí ẩn, bao gồm các kí tự chữ cái Latin và các kí tự chữ số.

Theo quan niệm của người xưa, “Con số may mắn” giúp sĩ tử đỗ đạt là một số nguyên dương đối xứng lớn nhất có trong dòng kí tự đó.

Yêu cầu: Cho xâu kí tự S gồm các kí tự chữ cái Latin (‘a’-‘z’, ‘A’-‘Z’) và các kí tự chữ số (‘0’-‘9’). Tìm số đối xứng lớn nhất được tạo nên từ các kí tự số liên tiếp có trong xâu S, không bao gồm các chữ số “0” không có nghĩa. Nếu không có số đối xứng nào thì in ra -1.

Dữ liệu vào từ tệp BIA.INP: Một dòng duy nhất chứa xâu S (độ dài xâu S không quá 10⁵ kí tự).

Kết quả ghi ra tệp BIA.OUT: Số đối xứng lớn nhất tìm được. Nếu không có, ghi -1.

Subtask:

  • Subtask 1 (50% số điểm): Độ dài xâu S không quá 255 kí tự, số tạo được trong xâu có không quá 18 chữ số.
  • Subtask 2 (30% số điểm): Độ dài xâu S không quá 10⁵ kí tự, số tạo được trong xâu có không quá 18 chữ số.
  • Subtask 3 (20% số điểm): Độ dài xâu S không quá 10⁵ kí tự, số tạo được trong xâu có thể rất lớn.

Ví dụ (Mỗi dòng trong bảng sau là một test độc lập):

BIA.INPBIA.OUTGiải thích
sonnam13331hungyen099013331Các số có trong xâu là 13331 và 990. Trong đó 13331 là số đối xứng còn 990 không là số đối xứng, nên kết quả là 13331.
van5bia009009asonam9009Các số có trong xâu là 5 và 9009. Trong đó 5 và 9009 đều là số đối xứng. Số 9009 là số đối xứng lớn nhất nên kết quả là 9009.
lequydonhunghasonnam-1Không có số đối xứng nào trong xâu nên kết quả là -1

Cồn Vành (thuộc huyện Tiền Hải, tỉnh Thái Bình cũ nay thuộc xã Hưng Phú, tỉnh Hưng Yên) là khu vực cửa sông ven biển với hệ sinh thái rừng ngập mặn phong phú và những hàng phi lao chắn cát trải dài. Rừng cây phi lao không những là nơi chắn gió, chắn cát mà còn cung cấp gỗ giúp người dân dựng nhà, làm vật dụng.

Qua nghiên cứu của các kỹ sư lâm nghiệp, các cây phi lao lớn rất đều, mỗi ngày chiều cao của mọi cây đều tăng thêm đúng 1 cm. Để phục vụ công việc của mình, ban quản lý cần một lượng gỗ với tổng chiều dài ít nhất là m (cm) được khai thác từ khu rừng nói trên.

Quy tắc khai thác như sau:

  • Chỉ được cắt khi cây có chiều cao lớn hơn c (cm) để đảm bảo mỹ quan và phần gốc còn lại vẫn đủ sức chắn gió, chắn cát.
  • Để bảo tồn mật độ rừng, chỉ được phép khai thác tối đa k cây.

Yêu cầu: Trong một khu rừng có n cây phi lao, cây thứ i có độ cao aᵢ. Hãy tính xem sau ít nhất bao nhiêu ngày (tính từ ngày 0) thì ban quản lý có thể khai thác để thu được lượng gỗ không nhỏ hơn m (cm) theo quy tắc trên?

Dữ liệu vào từ tệp PHILAO.INP: Gồm hai dòng:

  • Dòng 1: Bốn số nguyên dương n, m, k, c. (1 ≤ k ≤ n ≤ 10⁵; 0 ≤ m ≤ 10¹⁸; 1 ≤ c ≤ 10¹⁸), giữa các số có một dấu cách.
  • Dòng 2: n số nguyên dương a₁, a₂, …, aₙ là chiều cao (cm) ban đầu của các cây trong khu rừng (1 ≤ aᵢ ≤ 10¹²).

Kết quả ghi ra tệp PHILAO.OUT: Một số nguyên là số ngày ít nhất cần thiết. Nếu ngày 0 đã có thể khai thác đủ lượng gỗ m thì in ra 0.

Subtask:

  • Subtask 1 (40% số điểm): 1 ≤ m, c ≤ 10⁴ và 0 ≤ k ≤ 100.
  • Subtask 2 (30% số điểm): 1 ≤ m ≤ 10⁸ và 0 ≤ k ≤ 10⁴.
  • Subtask 3 (30% số điểm): Không có ràng buộc gì thêm.

Ví dụ 1:

PHILAO.INPPHILAO.OUT
3 5 2 4
10 4 1
0

Ví dụ 2:

PHILAO.INPPHILAO.OUT
6 25 3 10
9 9 20 15 1 8
4

Giải thích ví dụ 1: Được chọn tối đa 2 cây cho nhiều gỗ nhất. Ngày 0: Hai cây cao nhất có chiều cao là 10 và 4. Lượng gỗ thu được lần lượt là (10 − 4) + (4 − 4) = 6, tổng bằng 6 > 5 nên đáp án là 0.

Giải thích ví dụ 2: Được chọn tối đa 3 cây cao nhất để khai thác là 20, 15 và 9. Ngày 0: Lượng gỗ thu được là (20 − 10) + (15 − 10) + 0 = 15 (15 < 25) nên chưa đủ gỗ. Với số ngày là 4, tổng gỗ là (24 − 10) + (19 − 10) + (13 − 10) = 26 > 25 nên đủ lượng gỗ và đáp án là 4.

Vào thế kỷ XVII, Phố Hiến (Hưng Yên) là thương cảng sầm uất bậc nhất Đàng Ngoài, nơi tàu thuyền từ Nhật Bản, Hà Lan, Anh, Pháp, … tấp nập vào ra buôn bán.

Để quản lý hàng vạn kiện hàng tơ lụa và gốm sứ xuất khẩu, người ta đánh mã số cho các lô hàng. Các thương nhân ở đây đặc biệt ưa thích những kiện hàng có mã số đặc biệt gọi là “Mã số Tam Tài”. Theo quan niệm của các thương nhân lúc bấy giờ, mã số đó là số may mắn vì nó tượng trưng cho “Thiên - Địa - Nhân”.

Một mã số kiện hàng được coi là “Mã số Tam Tài” nếu giá trị của nó là tích của đúng 3 số nguyên tố khác nhau. Ví dụ: 30 = 2 × 3 × 5, do đó 30 là “Mã số Tam Tài”. 50 không phải là “Mã số Tam Tài” vì 50 = 2 × 5 × 5 (thừa số 5 xuất hiện 2 lần). 24 = 2 × 2 × 2 × 3 nên 24 cũng không phải.

Yêu cầu: Cho hai số nguyên dương L và R. Hãy đếm xem trong đoạn [L, R] có bao nhiêu số là “Mã số Tam Tài” và xác định “Mã số Tam Tài” đầu tiên có trong đoạn [L, R].

Dữ liệu vào từ tệp MASO.INP: Một dòng duy nhất chứa hai số nguyên dương L và R (1 ≤ L ≤ R ≤ 10¹² và R − L ≤ 2×10⁶), giữa hai số có một dấu cách.

Kết quả ghi ra tệp MASO.OUT: Một dòng duy nhất gồm hai số tương ứng là số lượng “Mã số Tam Tài” trong đoạn [L, R] và “Mã số Tam Tài” đầu tiên có trong đoạn [L, R].

Subtask:

  • Subtask 1 (30% số điểm): 1 ≤ L ≤ R ≤ 10⁴.
  • Subtask 2 (25% số điểm): R ≤ 10¹², nhưng R − L ≤ 1000.
  • Subtask 3 (30% số điểm): R ≤ 10¹² và R − L ≤ 10⁶.
  • Subtask 4 (15% số điểm): R ≤ 10¹⁴ và R − L ≤ 2×10⁶.

Ví dụ (Mỗi dòng trong bảng sau là một test độc lập):

MASO.INPMASO.OUT
20 522 30
1 1057 30
1 200

Giải thích ví dụ 1: Các “Mã số Tam Tài” trong đoạn [20; 52] là 30 = 2×3×5 và 42 = 2×3×7. “Mã số Tam Tài” đầu tiên trong đoạn là 30. Do đó, kết quả là 2 30.

Giải thích ví dụ 2: Các “Mã số Tam Tài” trong đoạn [1; 105] là 30 = 2×3×5, 42 = 2×3×7, 66 = 2×3×11, 70 = 2×5×7, 78 = 2×3×13, 102 = 2×3×17, 105 = 3×5×7. “Mã số Tam Tài” đầu tiên trong đoạn là 30. Do đó, kết quả là 7 30.

Giải thích ví dụ 3: Không có Mã số Tam Tài trong đoạn [1; 20]. Do đó, kết quả là 0.


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.