HSG THCS Cần Thơ 2025-2026
SỞ GIÁO DỤC VÀ ĐÀO TẠO
THÀNH PHỐ CẦN THƠ
ĐỀ CHÍNH THỨC
(Đề thi có 04 trang)
KỲ THI CHỌN HỌC SINH GIỎI CÁC MÔN VĂN HÓA THCS CẤP THÀNH PHỐ
Năm học 2025 - 2026 - Khoá ngày 03 tháng 3 năm 2026
Môn: Tin học
Thời gian làm bài: 150 phút, không kể thời gian phát đề
Tổng quan đề thi
Phần tiêu đề “Tổng quan đề thi”| Câu | Tên bài toán | Tệp chương trình | Tệp dữ liệu vào | Tệp kết quả | Điểm |
|---|---|---|---|---|---|
| 1 | Đáp án đúng | DAPAN.* | DAPAN.INP | DAPAN.OUT | 4,0 |
| 2 | Đơn hàng | DHANG.* | DHANG.INP | DHANG.OUT | 4,0 |
| 3 | Quà tri ân | QUA.* | QUA.INP | QUA.OUT | 4,0 |
| 4 | Tưới cây | TCAY.* | TCAY.INP | TCAY.OUT | 4,0 |
| 5 | Tiết kiệm | TKIEM.* | TKIEM.INP | TKIEM.OUT | 4,0 |
Dấu * được thay thế bởi PAS, CPP hoặc PY tùy theo ngôn ngữ lập trình được sử dụng tương ứng là Pascal, C++ hoặc Python;
Các giá trị số trong các tệp dữ liệu vào/kết quả, nếu nằm trên cùng một dòng sẽ cách nhau ít nhất một khoảng trắng.
Câu 1. Đáp án đúng (4,0 điểm)
Phần tiêu đề “Câu 1. Đáp án đúng (4,0 điểm)”Cho các số nguyên X, Y, a, b, c, d, trong đó a, b, c, d là các giá trị khác nhau và một trong 4 số là kết quả của phép tính X + Y.
Yêu cầu: Đưa ra một trong 4 chữ cái A, B, C hoặc D ứng với kết quả đúng của phép tính X + Y là a, b, c hoặc d.
Dữ liệu vào: Đọc từ tệp văn bản DAPAN.INP,
- Dòng đầu gồm hai số nguyên X, Y (1 ≤ X, Y ≤ 10⁶);
- Dòng thứ hai gồm bốn số nguyên a, b, c, d (1 ≤ a, b, c, d ≤ 2×10⁶).
Kết quả: Ghi ra tệp văn bản DAPAN.OUT, ghi đáp án như yêu cầu.
Ví dụ:
| DAPAN.INP | DAPAN.OUT |
|---|---|
5 36 10 8 9 | C |
Câu 2. Đơn hàng (4,0 điểm)
Phần tiêu đề “Câu 2. Đơn hàng (4,0 điểm)”Hôm nay là sinh nhật lần thứ T của cô chủ cửa hàng online OShop. Nhân dịp này, cửa hàng đã áp dụng chính sách khuyến mãi như sau: Nếu các đơn hàng có giá trị lớn hơn K và đồng thời giá trị đó chia hết cho T thì sẽ được miễn phí giao hàng. Trong ngày, cửa hàng nhận được N đơn hàng có giá trị lần lượt là a₁, a₂, …, a_N.
Yêu cầu: Hãy giúp cửa hàng liệt kê giá trị của các đơn hàng được miễn phí giao hàng và số lượng các đơn hàng được áp dụng chính sách đó.
Dữ liệu vào: Đọc từ tệp văn bản DHANG.INP,
- Dòng đầu gồm ba số nguyên dương N, K, T (N ≤ 1000; K ≤ 10⁸; T ≤ 50);
- Dòng thứ hai gồm N số nguyên aᵢ (1 ≤ aᵢ ≤ 10⁸; i = 1..N), cho biết giá trị từng đơn hàng.
Kết quả: Ghi ra tệp văn bản DHANG.OUT,
- Dòng đầu: Ghi giá trị các đơn hàng được miễn phí giao hàng theo thứ tự xuất hiện trong danh sách ban đầu, nếu không có đơn nào thỏa mãn điều kiện thì in ra từ “KHONG”;
- Dòng thứ hai: Ghi một số nguyên cho biết số lượng các đơn hàng được miễn phí giao hàng.
Ví dụ:
| DHANG.INP | DHANG.OUT | Giải thích |
|---|---|---|
6 90 2050 120 80 200 90 95 | 120 2002 | Có 2 giá trị đơn hàng lớn hơn 90 và chia hết cho 20 là 120, 200. |
6 50 2750 30 90 80 60 70 | KHONG0 | Không có đơn hàng nào thỏa mãn điều kiện khuyến mãi. |
Câu 3. Quà tri ân (4,0 điểm)
Phần tiêu đề “Câu 3. Quà tri ân (4,0 điểm)”Cửa hàng X tổ chức sự kiện tri ân khách hàng bằng hình thức như sau: Mỗi khách hàng khi mua sản phẩm tại cửa hàng sẽ nhận được một mã dự thưởng T là một số nguyên có 6 chữ số. Hôm nay, cửa hàng công bố mã trúng thưởng S (cũng là một số nguyên có 6 chữ số). Khách hàng sẽ nhận được một phần quà có giá trị tương ứng với quy tắc mà cửa hàng đưa ra như sau:
- Nếu mã dự thưởng trùng khớp với mã trúng thưởng theo đúng thứ tự từng chữ số thì giá trị của phần quà là 2000;
- Nếu mã dự thưởng và mã trúng thưởng chỉ sai lệch chữ số đầu tiên, các chữ số còn lại đều trùng khớp với nhau thì giá trị phần quà là 50;
- Nếu mã dự thưởng trùng khớp chữ số đầu tiên so với mã trúng thưởng, nhưng lại bị sai một chữ số duy nhất ở một trong 5 chữ số còn lại thì giá trị phần quà là 6;
- Các trường hợp còn lại không trúng thưởng thì không có quà (giá trị là 0).
Yêu cầu: Cho biết mã trúng thưởng S của cửa hàng và mã dự thưởng T. Hãy xác định giá trị của phần quà mà khách hàng có thể nhận được.
Dữ liệu vào: Đọc từ tệp văn bản QUA.INP,
- Dòng đầu gồm một số nguyên S, là mã trúng thưởng được cửa hàng công bố;
- Dòng thứ hai gồm một số nguyên T, là mã dự thưởng của khách hàng.
Kết quả: Ghi ra tệp văn bản QUA.OUT, một số nguyên cho biết kết quả theo yêu cầu của
bài toán.
Ví dụ:
| QUA.INP | QUA.OUT | Giải thích |
|---|---|---|
123456923456 | 50 | Hai mã chỉ lệch nhau ở hàng trăm nghìn (1 ≠ 9) |
123456123956 | 6 | Hai mã trùng khớp ở hàng trăm nghìn, nhưng lệch nhau ở hàng trăm (4 ≠ 9) |
123754123457 | 0 | Có 2 vị trí lệch nhau ở hàng trăm (7 ≠ 4) và hàng đơn vị (4 ≠ 7), không có giải thưởng. |
Câu 4. Tưới cây (4,0 điểm)
Phần tiêu đề “Câu 4. Tưới cây (4,0 điểm)”Công ty CT được giao nhiệm vụ tưới cây trên một tuyến đường có trồng N cây xanh. Hàng ngày, cây xanh thứ i (i = 1..N) cần một lượng nước tưới là aᵢ và mức độ ưu tiên là pᵢ. Do hệ thống nước gặp sự cố, trong ngày hôm nay công ty chỉ có thể huy động được lượng nước là M. Biết rằng các cây xanh có độ ưu tiên càng cao (pᵢ càng nhỏ) thì phải được tưới trước. Cây xanh thứ i được gọi là tưới đầy đủ nếu được tưới đủ lượng nước aᵢ.
Yêu cầu: Hãy cho biết số lượng cây xanh nhiều nhất được tưới đầy đủ.
Dữ liệu vào: Đọc từ tệp văn bản TCAY.INP,
- Dòng đầu gồm số nguyên N và M (1 ≤ N ≤ 2×10⁵; 1 ≤ M ≤ 10⁹);
- Dòng thứ hai gồm N số nguyên aᵢ (1 ≤ aᵢ ≤ 10⁶);
- Dòng cuối cùng gồm N số nguyên pᵢ (1 ≤ pᵢ ≤ N).
Kết quả: Ghi ra tệp văn bản TCAY.OUT, một số nguyên cho biết số lượng cây xanh được
tưới đầy đủ.
Ví dụ:
| TCAY.INP | TCAY.OUT |
|---|---|
6 105 1 2 2 1 21 2 1 1 3 1 | 3 |
Giải thích: Ưu tiên tưới các cây ở vị trí 1, 3, 4, mất 9 đơn vị nước. Phần nước còn thừa lại (10 − 9 = 1) sẽ tưới cho cây ở vị trí 6 (do mức ưu tiên p₆ = 1) nhưng không được tính vì không tưới đủ lượng nước cây cần (cây thứ 6 cần 2 đơn vị nước).
Ràng buộc:
- 30% số test ứng với 30% số điểm có tất cả pᵢ = 1;
- 30% số test ứng với 30% số điểm có 1 ≤ pᵢ ≤ 10;
- 40% số test ứng với 40% số điểm còn lại: Không có ràng buộc gì thêm.
Câu 5. Tiết kiệm (4,0 điểm)
Phần tiêu đề “Câu 5. Tiết kiệm (4,0 điểm)”Nhóm của An có M bạn đang cùng nhau thực hiện tiết kiệm tiền để chuẩn bị cho các kế hoạch trong tương lai. Mỗi bạn có một mục tiêu tiết kiệm của riêng mình. Theo tính toán của An, trong N ngày tới, ngày thứ i (1 ≤ i ≤ N) mỗi bạn sẽ có cùng một khoản thu nhập là aᵢ. Tuy nhiên, để đảm bảo chi phí sinh hoạt và các nhu cầu cá nhân khác, nhóm bạn tự đặt ra một quy tắc nghiêm ngặt: mỗi bạn sẽ thực hiện tiết kiệm vào chỉ những ngày chẵn hoặc chỉ những ngày lẻ (ngày đầu tiên là ngày 1).
Yêu cầu: Với mỗi bạn, hãy xác định thời gian sớm nhất (số ngày ít nhất tính từ ngày đầu tiên) để có thể tích lũy đạt (bằng hoặc nhiều hơn) số tiền theo mục tiêu mà bản thân đã đề ra.
Dữ liệu vào: Đọc từ tệp văn bản TKIEM.INP,
- Dòng đầu gồm hai số nguyên N và M (1 ≤ N ≤ 2×10⁵; 1 ≤ M ≤ 10⁵);
- Dòng thứ hai gồm N số nguyên aᵢ cho biết số tiền thu nhập của mỗi bạn ở ngày thứ i (1 ≤ aᵢ ≤ 10⁶; i = 1..N);
- M dòng tiếp theo, mỗi dòng gồm một số nguyên dương cho biết mục tiêu (số tiền) cần đạt được của mỗi bạn, các giá trị không vượt quá 10⁹.
Kết quả: Ghi ra tệp văn bản TKIEM.OUT, ghi M dòng, mỗi dòng ghi một số nguyên cho
biết số ngày ít nhất để đạt mục tiêu của mỗi bạn. Nếu với N ngày mà bạn đó vẫn không thể
tích lũy đủ, hãy ghi ra -1.
Ví dụ:
| TKIEM.INP | TKIEM.OUT |
|---|---|
7 33 5 3 4 1 2 16812 | 34-1 |
Giải thích:
- Bạn thứ 1 đặt mục tiêu với số tiền là 6, bạn thực hiện tiết kiệm vào ngày thứ 1 và thứ 3 (ngày lẻ), được số tiền là 3 + 3 = 6, mất thời gian 3 ngày;
- Bạn thứ 2 đặt mục tiêu với số tiền là 8, bạn chọn tiết kiệm vào ngày thứ 2 và thứ 4 (ngày chẵn), được số tiền là 5 + 4 = 9, vượt mục tiêu đề ra, mất thời gian là 4 ngày;
- Bạn thứ 3 đặt mục tiêu với số tiền là 12, dù chọn tiết kiệm vào ngày chẵn hay ngày lẻ đều không thể đạt mục tiêu sau 7 ngày.
Ràng buộc:
- 40% số test ứng với 40% số điểm có 1 ≤ N, M ≤ 1000;
- 60% số test ứng với 60% số điểm còn lại: Không có ràng buộc gì thêm.
Ghi chú: Thí sinh không được sử dụng tài liệu. Giám thị coi thi không giải thích gì thêm.