SỞ GIÁO DỤC VÀ ĐÀO TẠO
KỲ THI CHỌN HỌC SINH GIỎI LỚP 9
Đề chính thức
ĐỀ THI MÔN: TIN HỌC
Thời gian làm bài: 150 phút (không kể thời gian giao đề)
TỔNG QUAN ĐỀ THI
STT | Tên bài | Tên tệp chương trình | Tên tệp dữ liệu vào | Tên tệp kết quả | Điểm |
|---|---|---|---|---|---|
1 | Năng lượng di tích | `ENERGY.*` | `ENERGY.INP` | `ENERGY.OUT` | 5,0 |
2 | Tín hiệu cộng hưởng | `RESON.*` | `RESON.INP` | `RESON.OUT` | 5,0 |
3 | Trạm trung chuyển | `RELAY.*` | `RELAY.INP` | `RELAY.OUT` | 5,0 |
4 | Thám hiểm mê cung số | `LABYR.*` | `LABYR.INP` | `LABYR.OUT` | 5,0 |
Ghi chú: Thí sinh nộp tệp chương trình có phần mở rộng `.cpp` hoặc `.py` hoặc `.pas` tương ứng với ngôn ngữ dự thi.
BÀI 1. NĂNG LƯỢNG DI TÍCH (5,0 điểm)
Trong một cuộc khảo sát cổ vật, các nhà khảo cổ phát hiện một tấm bia đá chứa một dãy số nguyên dương gồm phiến đá xếp thành hàng ngang, phiến đá thứ mang chỉ số năng lượng ().
Người ta định nghĩa một cặp phiến đá với tạo thành một "Cặp cộng hưởng hài hoà" nếu thỏa mãn đồng thời hai điều kiện sau:
- Tổng năng lượng của hai phiến đá là một số chẵn: .
- Tích năng lượng của hai phiến đá chia hết cho : .
Yêu cầu: Hãy đếm số lượng cặp () tạo thành một cặp cộng hưởng hài hoà.
Dữ liệu vào (ENERGY.INP):
- Dòng đầu tiên chứa số nguyên dương .
- Dòng thứ hai chứa số nguyên dương được ngăn cách nhau bởi dấu cách.
Dữ liệu ra (ENERGY.OUT):
- Ghi ra một số nguyên duy nhất là số lượng cặp cộng hưởng hài hoà tìm được.
Ràng buộc:
- Subtask 1 (40% số điểm): ; .
- Subtask 2 (60% số điểm): ; .
Ví dụ:
`ENERGY.INP` | `ENERGY.OUT` | Giải thích |
|---|---|---|
`5` | `3` | Có 3 cặp thoả mãn: |
BÀI 2. TÍN HIỆU CỘNG HƯỞNG (5,0 điểm)
Một đài thiên văn thu được một dãy tín hiệu liên tục gồm xung sóng, mỗi xung sóng được biểu diễn bởi một số nguyên ().
Các nhà khoa học quan tâm đến các đoạn tín hiệu liên tiếp () có tổng các phần tử đúng bằng một số nguyên cho trước. Trong số tất cả các đoạn liên tiếp có tổng bằng , đoạn tín hiệu có độ dài ngắn nhất được gọi là "tín hiệu cô đọng".
Yêu cầu: Tìm độ dài của đoạn tín hiệu liên tiếp ngắn nhất có tổng các phần tử bằng . Nếu không tồn tại đoạn tín hiệu nào có tổng bằng , in ra .
Dữ liệu vào (RESON.INP):
- Dòng đầu chứa hai số nguyên và .
- Dòng thứ hai chứa số nguyên cách nhau bởi dấu cách.
Dữ liệu ra (RESON.OUT):
- Ghi ra một số nguyên duy nhất là độ dài nhỏ nhất của đoạn tín hiệu tìm được, hoặc nếu không tồn tại.
Ràng buộc:
- Subtask 1 (30% số điểm): ; .
- Subtask 2 (30% số điểm): ; .
- Subtask 3 (40% số điểm): ; ; .
Ví dụ:
`RESON.INP` | `RESON.OUT` | Giải thích |
|---|---|---|
`6 7` | `2` | Các đoạn có tổng bằng 7 là: |
BÀI 3. TRẠM TRUNG CHUYỂN (5,0 điểm)
Dọc theo một tuyến đường cao tốc thẳng tắp dài vô tận, có nhà máy sản xuất linh kiện đặt tại các tọa độ (các tọa độ là số nguyên đôi một phân biệt).
Để giảm thiểu chi phí phát thải khí nhà kính, công ty logistics cần đặt đúng trạm tiếp vận năng lượng sạch tại vị trí trên tuyến cao tốc này (tọa độ các trạm tiếp vận phải là các số nguyên, không nhất thiết trùng với vị trí các nhà máy, nhưng có thể trùng nhau nếu cần).
Mỗi nhà máy sẽ tự động kết nối với trạm tiếp vận gần nó nhất. Khoảng cách kết nối của nhà máy thứ được tính bằng , trong đó là tọa độ trạm tiếp vận gần nhà máy đó nhất. Gọi khoảng cách kết nối tối đa của hệ thống là giá trị lớn nhất trong số các khoảng cách kết nối của nhà máy tới trạm tiếp vận gần nhất của chúng.
Yêu cầu: Hãy xác định vị trí đặt trạm tiếp vận sao cho khoảng cách kết nối tối đa là nhỏ nhất có thể, và in ra giá trị nhỏ nhất đó.
Dữ liệu vào (RELAY.INP):
- Dòng đầu chứa hai số nguyên dương và ().
- Dòng thứ hai chứa số nguyên ().
Dữ liệu ra (RELAY.OUT):
- Ghi ra một số nguyên duy nhất là khoảng cách kết nối tối đa nhỏ nhất đạt được.
Ràng buộc:
- Subtask 1 (30% số điểm): ; .
- Subtask 2 (40% số điểm): ; .
- Subtask 3 (30% số điểm): ; .
Ví dụ:
`RELAY.INP` | `RELAY.OUT` | Giải thích |
|---|---|---|
`5 2` | `2` | Đặt 2 trạm tiếp vận tại tọa độ 2 và 14: |
BÀI 4. THÁM HIỂM MÊ CUNG SỐ (5,0 điểm)
Một nhà du hành được đưa vào một ma trận số nguyên kích thước gồm hàng (đánh số từ 1 đến từ trên xuống dưới) và cột (đánh số từ 1 đến từ trái sang phải). Ô ở hàng , cột có giá trị điểm số là ( có thể mang giá trị âm, dương hoặc bằng 0).
Nhà du hành xuất phát từ ô và cần di chuyển đến ô đích . Tại mỗi ô , nhà du hành chỉ được phép di chuyển sang một trong hai ô kề cạnh:
- Đi sang phải đến ô (nếu ).
- Đi xuống dưới đến ô (nếu ).
Tuy nhiên, mê cung có một quy tắc cân bằng năng lượng: Trong suốt toàn bộ lộ trình từ đến , nhà du hành được kích hoạt một "Lá chắn đảo chiều" không quá một lần. Khi kích hoạt lá chắn tại một ô bất kỳ trên đường đi (có thể là ô hoặc ô hoặc bất kỳ ô trung gian nào), toàn bộ điểm số của các ô mà nhà du hành bước vào kể từ thời điểm kích hoạt lá chắn trở về sau (tính cả ô được kích hoạt) sẽ được nhân với khi cộng vào tổng điểm.
Yêu cầu: Hãy tìm lộ trình hợp lệ từ ô đến ô sao cho tổng điểm thu được là lớn nhất có thể.
Dữ liệu vào (LABYR.INP):
- Dòng đầu chứa hai số nguyên dương và .
- dòng tiếp theo, mỗi dòng chứa số nguyên mô tả bảng điểm ().
Dữ liệu ra (LABYR.OUT):
- Ghi ra một số nguyên duy nhất là tổng điểm lớn nhất có thể đạt được.
Ràng buộc:
- Subtask 1 (30% số điểm): .
- Subtask 2 (30% số điểm): ; .
- Subtask 3 (40% số điểm): ; .
Ví dụ:
`LABYR.INP` | `LABYR.OUT` | Giải thích |
|---|---|---|
`3 3` | `29` | Lộ trình tối ưu: |
--------- HẾT ---------
Họ và tên thí sinh: ................................................................ Số báo danh: ........................
Cán bộ coi thi không giải thích gì thêm.




