HSG lớp 9 Nghệ An 2025-2026 (Bảng B)
SỞ GIÁO DỤC VÀ ĐÀO TẠO
NGHỆ AN
ĐỀ CHÍNH THỨC
(Đề thi gồm 03 trang)
KỲ THI CHỌN HỌC SINH GIỎI TỈNH LỚP 9
Năm học 2025 - 2026
Môn thi: Tin học - Bảng B
Thời gian làm bài 150 phút (không kể thời gian giao đề)
Tổng quan bài thi
Phần tiêu đề “Tổng quan bài thi”| Tên bài | File nguồn | File Input | File Output | Bộ nhớ tối đa | Thời gian |
|---|---|---|---|---|---|
| Tổng số dư | TONG.* | TONG.INP | TONG.OUT | 1024Mb | 1 giây |
| Chia hết | CHIAHET.* | CHIAHET.INP | CHIAHET.OUT | 1024Mb | 1 giây |
| Rô bốt | ROBOT.* | ROBOT.INP | ROBOT.OUT | 1024Mb | 1 giây |
| Trò chơi | TROCHOI.* | TROCHOI.INP | TROCHOI.OUT | 1024Mb | 1 giây |
Phần mở rộng .* được thay thế bằng Sb2 hoặc Sb3, Cpp, Py ứng với các ngôn ngữ lập trình Scratch, C++, Python.
Câu 1. TỔNG SỐ DƯ (6.0 điểm)
Phần tiêu đề “Câu 1. TỔNG SỐ DƯ (6.0 điểm)”Anna đang tích cực ôn tập để chuẩn bị cho vòng loại của một kì thi lập trình. Bài toán mà bạn đang làm phát biểu như sau:
Cho 2 số nguyên dương x, y (1 ≤ x, y ≤ 10⁹). Tính tổng số dư khi chia số x cho 2025 và y cho 2026.
Yêu cầu: Em hãy lập trình để đưa ra kết quả đúng của bài toán.
Dữ liệu: Đọc từ tệp văn bản TONG.INP gồm hai số nguyên dương x, y.
Kết quả: Ghi ra tệp văn bản TONG.OUT gồm một số nguyên là kết quả đúng của bài toán.
Ví dụ:
| TONG.INP | TONG.OUT | Giải thích |
|---|---|---|
4060 2030 | 14 | 4060 : 2025 = 2 dư 10; 2030 : 2026 = 1 dư 4; Tổng số dư: 10 + 4 = 14. |
Giới hạn:
- 90% số test với 1 ≤ x, y ≤ 10⁶;
- 10% số test với 10⁶ < x, y ≤ 10⁹.
Câu 2. CHIA HẾT (5.0 điểm)
Phần tiêu đề “Câu 2. CHIA HẾT (5.0 điểm)”Sau khi vượt qua vòng loại, Anna tiếp tục ôn luyện để tham dự vòng chung kết kì thi lập trình. Bài toán mà Anna đang làm phát biểu như sau:
Cho 3 số nguyên dương n, x, y (1 ≤ n, x, y ≤ 10⁹) đếm số lượng các số nguyên dương k sao cho:
- k không vượt quá n, tức là k ≤ n
- k chia hết cho x và không chia hết cho y.
Rất nhanh chóng Anna đã tìm ra được kết quả bài toán.
Yêu cầu: Em hãy lập trình để đưa ra kết quả đúng của bài toán.
Dữ liệu: Đọc từ tệp văn bản CHIAHET.INP chứa ba số nguyên dương n, x, y.
Kết quả: Ghi ra tệp CHIAHET.OUT số lượng các số nguyên dương không vượt quá n, chia
hết cho x mà không chia hết cho y.
Ví dụ:
| CHIAHET.INP | CHIAHET.OUT | Giải thích |
|---|---|---|
10 2 3 | 4 | Có 4 số thoả mãn gồm: 2, 4, 8, 10 |
Giới hạn:
- 80% số test với 1 ≤ n ≤ 10⁶;
- 20% số test với 10⁶ < n ≤ 10⁹.
Câu 3. RÔ BỐT (5.0 điểm)
Phần tiêu đề “Câu 3. RÔ BỐT (5.0 điểm)”Anna đang dự thi vòng chung kết lập trình. Nhiệm vụ của Anna là phải lập trình để nạp phần mềm cho n con Robot hoạt động, các con Robot được đánh số từ 1 đến n. Mỗi con Robot khi hoạt động được nó sẽ nhận một trong hai giá trị là 1 hoặc -1.
Sau khi toàn bộ n con Robot đã hoạt động, hệ thống sẽ hiển thị một dãy n giá trị a₁, a₂, …, aₙ (aᵢ = 1 hoặc aᵢ = −1) tương ứng với giá trị của từng con Robot.
Tiếp đến hệ thống sẽ chọn ngẫu nhiên con Robot thứ i bất kì và tiến hành thay đổi giá trị của Robot thứ i và thứ i + 1 (Nếu giá trị là -1 thì chuyển thành 1 và ngược lại), việc này chỉ thực hiện duy nhất một lần.
Yêu cầu: Hãy cho biết với các cách chọn con Robot thứ i và thứ i + 1 (i < n) để thay đổi giá trị như vậy thì tổng giá trị lớn nhất có thể đạt được của n con Robot là bao nhiêu?
Dữ liệu: Đọc từ file văn bản ROBOT.INP gồm:
- Dòng đầu tiên ghi số nguyên dương n (n ≤ 10⁶) là số lượng con Robot.
- Dòng thứ 2 gồm n số nguyên a₁, a₂, …, aₙ (aᵢ ∈
{1, -1}) biểu thị giá trị tương ứng của từng con Robot.
Kết quả: Ghi ra file văn bản ROBOT.OUT tổng giá trị lớn nhất của n con Robot có thể
đạt được sau chuyển đổi.
Ví dụ:
| ROBOT.INP | ROBOT.OUT | Giải thích |
|---|---|---|
5-1 1 1 -1 -1 | 3 | Hệ thống thay đổi giá trị của con Robot thứ 4 và thứ 5. Lúc đó giá trị mới của 5 con Robot là -1 1 1 1 1 => Tổng giá trị lớn nhất là 3 |
21 1 | -2 | Hệ thống chỉ có thể thay đổi giá trị của con Robot thứ 1 và thứ 2. Lúc đó giá trị mới của 2 con Robot là -1 -1 => Tổng giá trị lớn nhất là -2 |
Giới hạn:
- 60% số test với 1 ≤ n ≤ 10³;
- 40% số test với 10³ < n ≤ 10⁶.
Câu 4. TRÒ CHƠI (4.0 điểm)
Phần tiêu đề “Câu 4. TRÒ CHƠI (4.0 điểm)”Sau khi kết thúc vòng thi, Anna cùng các bạn trong đội lập trình được tham gia một hoạt động trải nghiệm tại trung tâm giải trí. Anna đã chọn tham gia một trò chơi “Vượt chướng ngại vật”. Anna được Ban tổ chức (BTC) cấp một dãy gồm n chướng ngại vật được đánh số thứ tự từ 1 đến n và dãy số nguyên a₁, a₂, …, aₙ tương ứng là điểm số khi vượt qua từng chướng ngại vật.
Anna cần chọn một đoạn liên tiếp các chướng ngại vật sao cho sau khi hoàn thành đoạn đó, tổng số điểm đạt được bằng hoặc vượt ngưỡng điểm tối thiểu S mà BTC đưa ra thì mới được nhận quà.
Anna đã xác định được đoạn ít nhất các chướng ngại vật cần vượt qua để hoàn thành trò chơi. Em hãy giải quyết bài toán trên để đối sánh kết quả với Anna nhé!
Yêu cầu: Hãy lập trình tìm ra độ dài ngắn nhất của đoạn liên tiếp các chướng ngại vật mà Anna cần hoàn thành để tổng điểm đạt được tối thiểu là S điểm.
Dữ liệu: Đọc từ tệp văn bản TROCHOI.INP gồm:
- Dòng đầu tiên chứa hai số nguyên dương n và S (1 ≤ n ≤ 10⁵) và (1 ≤ S ≤ 10⁹).
- Dòng thứ 2 chứa một dãy số nguyên a₁, a₂, …, aₙ (1 ≤ aᵢ ≤ 10⁹) tương ứng là điểm số khi vượt qua từng chướng ngại vật.
Kết quả: Ghi ra tệp văn bản TROCHOI.OUT một số nguyên duy nhất là số lượng chướng ngại
vật thoả mãn điều kiện bài toán.
(Dữ liệu đầu vào luôn đảm bảo tìm được giá trị thoả mãn điều kiện bài toán)
Ví dụ:
| TROCHOI.INP | TROCHOI.OUT | Giải thích |
|---|---|---|
8 105 3 7 1 6 5 2 4 | 2 | Anna có thể chọn đoạn gồm 2 phần tử thứ 2 và 3 hoặc đoạn gồm 2 phần tử thứ 5 và 6 |
Giới hạn:
- 60% số test với 1 ≤ n ≤ 10³;
- 40% số test với 10³ < n ≤ 10⁵.
Hết