HSG THPT Vĩnh Long 2025-2026
SỞ GIÁO DỤC VÀ ĐÀO TẠO
VĨNH LONG
ĐỀ THI CHÍNH THỨC
(Đề thi gồm 03 trang, 03 bài)
KỲ THI CHỌN HỌC SINH GIỎI THPT CẤP TỈNH
Năm học 2025 - 2026 - Khóa thi ngày: 23/01/2026
Môn: Tin học
Thời gian: 180 phút (không kể thời gian giao đề)
Tổng quan đề thi
Phần tiêu đề “Tổng quan đề thi”| Tên bài | File chương trình | File dữ liệu vào | File dữ liệu ra | Điểm | |
|---|---|---|---|---|---|
| Bài 1 | Xếp thẻ | B1XT.* | B1XT.INP | B1XT.OUT | 7.00 |
| Bài 2 | Chênh lệch | B2CL.* | B2CL.INP | B2CL.OUT | 7.00 |
| Bài 3 | Nhận diện | B3ND.* | B3ND.INP | B3ND.OUT | 6.00 |
Dấu * được thay bởi PAS hoặc CPP hoặc PY của ngôn ngữ lập trình tương ứng là Pascal hoặc C++ hoặc Python. Thời gian chạy mỗi test không quá 01 giây.
Bài 1. Xếp thẻ (7.00 điểm)
Phần tiêu đề “Bài 1. Xếp thẻ (7.00 điểm)”Trong một cuộc thi lập trình, Ban Tổ chức đưa ra N thẻ số, mỗi thẻ ghi một dãy chữ số (dãy gồm các chữ số liên tiếp được tạo thành từ các chữ số 0, 1, 2, …, 9). Các thẻ số này được cắt ra từ một số tự nhiên rất lớn được viết liên tiếp và đảm bảo tại ít nhất một thẻ có chữ số đầu tiên khác 0. Các thẻ được xáo trộn nhưng thứ tự các chữ số trên mỗi thẻ vẫn được giữ nguyên. Bằng kỹ năng của mình, các thí sinh dự thi phải tìm cách sắp xếp lại thứ tự các thẻ sao cho tạo được số theo yêu cầu trong thời gian cho phép.
Yêu cầu: Hãy sắp xếp thứ tự các thẻ số sao cho số tự nhiên thu được có giá trị lớn nhất.
Dữ liệu vào: Từ tệp văn bản B1XT.INP gồm:
- Dòng đầu tiên chứa số nguyên dương N (N ≤ 10⁵) là số lượng thẻ số;
- N dòng tiếp theo, mỗi dòng chứa một dãy liên tiếp các chữ số có độ dài tối đa 30, lần lượt là các thẻ số.
Kết quả ra: Đưa ra tệp văn bản B1XT.OUT một số tự nhiên duy nhất theo yêu cầu.
Ví dụ:
| B1XT.INP | B1XT.OUT | Giải thích |
|---|---|---|
3613 | 631 | Các số có thể tạo ra từ 3 thẻ là: 613, 631, 163, 136, 316, 361. Số lớn nhất là 631. |
467202111 | 67220111 | Trong các số tạo ra từ 4 thẻ, số lớn nhất là 67220111. |
Ràng buộc:
- Subtask 1: Có ít nhất 50% số test có N ≤ 10², các thẻ đều có số chữ số là 1;
- Subtask 2: Có ít nhất 35% số test có N ≤ 10³, các thẻ đều có cùng số chữ số và số chữ số tối đa là 30;
- Subtask 3: Số test còn lại không có ràng buộc gì thêm.
Bài 2. Chênh lệch (7.00 điểm)
Phần tiêu đề “Bài 2. Chênh lệch (7.00 điểm)”Cho một bảng kích thước N×N, mỗi ô của bảng chứa một số nguyên. Thực hiện một đường cắt ngang và một đường cắt dọc chia bảng thành bốn phần là các hình chữ nhật hoặc hình vuông. Với mỗi cách cắt, giá trị của mỗi phần là tổng các số nguyên trong phần đó.
Yêu cầu: Hãy xác định chênh lệch nhỏ nhất giữa phần có giá trị lớn nhất và phần có giá trị nhỏ nhất.
Dữ liệu vào: Từ tệp văn bản B2CL.INP gồm:
- Dòng thứ nhất chứa số nguyên dương N (2 ≤ N ≤ 10³);
- N dòng tiếp theo, mỗi dòng gồm N số nguyên có giá trị tuyệt đối không quá 10⁹.
Các số trên cùng một dòng cách nhau ít nhất một khoảng trắng.
Kết quả ra: Đưa ra tệp văn bản B2CL.OUT một số nguyên duy nhất là kết quả cần tìm.
Ví dụ:
| B2CL.INP | B2CL.OUT | Giải thích |
|---|---|---|
21 23 4 | 3 | Có 1 cách cắt: bốn phần là 1, 2, 3, 4. Nhỏ nhất: 1; Lớn nhất: 4; Chênh lệch: 3. Chênh lệch nhỏ nhất giữa phần có giá trị lớn nhất và phần có giá trị nhỏ nhất: 3 |
31 2 21 -1 42 2 -5 | 4 | Có 4 cách cắt: - Cắt sau hàng 1, sau cột 1: nhỏ nhất 0, lớn nhất 4, chênh lệch 4. - Cắt sau hàng 1, sau cột 2: nhỏ nhất −1, lớn nhất 4, chênh lệch 5. - Cắt sau hàng 2, sau cột 1: nhỏ nhất −3, lớn nhất 7, chênh lệch 10. - Cắt sau hàng 2, sau cột 2: nhỏ nhất −5, lớn nhất 6, chênh lệch 11. Trong các cách cắt thứ 1 có chênh lệch nhỏ nhất giữa phần có giá trị lớn nhất và phần có giá trị nhỏ nhất là 4. |
Ràng buộc:
- Subtask 1: Có ít nhất 35% số test có N ≤ 3;
- Subtask 2: Có ít nhất 14% số test có N = 4;
- Subtask 3: Có ít nhất 20% số test có 4 < N ≤ 10²;
- Subtask 4: Số test còn lại không có ràng buộc gì thêm.
Bài 3. Nhận diện (6.00 điểm)
Phần tiêu đề “Bài 3. Nhận diện (6.00 điểm)”Trước khi bàn giao các robot tại công ty VBT, có N robot xếp thẳng hàng để chờ đến lượt kiểm tra hệ thống. Mỗi robot có chiều cao khác nhau (được tính bằng đơn vị đo riêng biệt).
Trong lúc chờ đợi, các robot có thể quét và nhận diện những robot quen biết xung quanh để trao đổi với nhau. Tuy nhiên, do cảm biến bị hạn chế, không phải robot nào cũng nhận diện được nhau.
Hai robot A và B đứng trong hàng có thể nhận diện được nhau nếu thỏa mãn một trong hai điều kiện sau:
- Robot A và robot B đứng ngay cạnh nhau trong hàng.
- Giữa robot A và robot B không có robot nào cao hơn hẳn một trong hai robot đó.
Yêu cầu: Đếm số cặp robot có thể nhận diện được nhau trong hàng.
Dữ liệu vào: Đọc từ file văn bản B3ND.INP gồm:
- Dòng đầu tiên chứa số nguyên dương N (2 ≤ N ≤ 10⁵) là số lượng robot.
- N dòng tiếp theo, mỗi dòng chứa một số nguyên dương là chiều cao của một robot (tính theo đơn vị đo riêng biệt, giá trị không lớn hơn 2×10⁹).
Kết quả ra: Ghi ra tệp văn bản B3ND.OUT một số nguyên duy nhất là số cặp robot có thể nhận
diện được nhau.
Ví dụ:
| B3ND.INP | B3ND.OUT | Giải thích |
|---|---|---|
524122 | 6 | Có 4 cặp robot thỏa mãn điều kiện thứ nhất: các cặp robot ở vị trí (1, 2), (2, 3), (3, 4), (4, 5). Có 2 cặp robot thỏa mãn điều kiện thứ hai: các cặp robot ở vị trí (2, 4), (2, 5). Số cặp robot có thể nhận diện được nhau: 6. |
Ràng buộc:
- Subtask 1: Có ít nhất 33% số test có N ≤ 10²;
- Subtask 2: Có ít nhất 50% số test có N ≤ 10³;
- Subtask 3: Số test còn lại không có ràng buộc gì thêm.
Hết