TRƯỜNG THCS … | KỲ THI CHỌN HỌC SINH GIỎI CẤP TRƯỜNG |
|---|
TỔNG QUAN ĐỀ THI
Bài | Tên bài | Tệp chương trình | Tệp dữ liệu vào | Tệp kết quả ra | Điểm |
|---|---|---|---|---|---|
1 | Khóa số an toàn | `SAFEKEY.*` | `SAFEKEY.INP` | `SAFEKEY.OUT` | 4,0 |
2 | Tín hiệu hoán vị | `PERMSTR.*` | `PERMSTR.INP` | `PERMSTR.OUT` | 4,0 |
3 | Đoạn thặng dư ngắn nhất | `DIFFSEG.*` | `DIFFSEG.INP` | `DIFFSEG.OUT` | 4,0 |
4 | Khai thác khoáng sản | `MINE.*` | `MINE.INP` | `MINE.OUT` | 4,0 |
5 | Dãy bậc thang dài nhất | `STAIRS.*` | `STAIRS.INP` | `STAIRS.OUT` | 4,0 |
Dấu `` trong tên tệp chương trình được thay thế bằng đuôi `PAS`, `CPP` hoặc `PY` tương ứng với ngôn ngữ lập trình Pascal, C++ hoặc Python.*
Mỗi bài toán có giới hạn thời gian chạy không quá 1,0 giây/test và giới hạn bộ nhớ không quá 256 MB.
NỘI DUNG CÁC BÀI TOÁN
Bài 1 (4,0 điểm). Khóa số an toàn
Trong một hệ thống an ninh mạng, một mã khóa nguyên dương được gọi là khóa an toàn nếu thỏa mãn đồng thời hai điều kiện sau:
1. có ít nhất hai ước nguyên tố phân biệt;
2. Tổng của tất cả các ước nguyên tố phân biệt của là một ước số của .
Ví dụ:
- Xét : Các ước nguyên tố phân biệt của 12 là và . Tổng các ước nguyên tố này là . Do 12 không chia hết cho 5 nên 12 không phải là khóa an toàn.
- Xét : Các ước nguyên tố phân biệt của 30 là và . Tổng của chúng là . Vì 30 chia hết cho 10 nên 30 là một khóa an toàn.
Yêu cầu: Cho hai số nguyên dương và . Hãy đếm số lượng khóa an toàn nằm trong đoạn (tức là ).
Dữ liệu vào: Đọc từ tệp `SAFEKEY.INP` gồm một dòng duy nhất chứa hai số nguyên dương cách nhau một dấu cách ().
Dữ liệu ra: Ghi ra tệp `SAFEKEY.OUT` một số nguyên duy nhất là số lượng khóa an toàn tìm được.
Ví dụ:
SAFEKEY.INP | SAFEKEY.OUT | Giải thích |
|---|---|---|
`1 45` | `3` | Trong đoạn có 3 khóa an toàn là: 18 ( không chia hết), 20 ( không chia hết), 30 (, ), 42 ( không chia hết), 40 (). Cụ thể 3 số thỏa mãn là 30, 70 không nằm trong đoạn, các số thỏa mãn gồm: 30, ... |
Ghi chú minh họa: Ba số thỏa mãn trong đoạn là 30 (), 120 không nằm trong phạm vi, 70 không nằm trong phạm vi, có các số như ...
Ràng buộc:
- Subtask 1 (40% số điểm): .
- Subtask 2 (30% số điểm): .
- Subtask 3 (30% số điểm): .
Bài 2 (4,0 điểm). Tín hiệu hoán vị
Trung tâm nghiên cứu vũ trụ nhận được hai chuỗi sóng tín hiệu số biểu diễn bằng hai xâu ký tự và chỉ chứa các chữ cái tiếng Anh in thường ('a' đến 'z').
Để giải mã thông điệp, các kỹ sư cần xác định tần suất xuất hiện của mẫu tín hiệu trong dòng tín hiệu . Một đoạn con gồm các ký tự liên tiếp của được gọi là trùng khớp hoán vị với nếu đoạn con đó có cùng độ dài với và tập hợp các ký tự trong đoạn con đó (kể cả số lần xuất hiện của mỗi ký tự) hoàn toàn trùng khớp với xâu khi đổi chỗ các ký tự.
Yêu cầu: Cho trước hai xâu và . Hãy đếm số lượng đoạn con liên tiếp trong là một trùng khớp hoán vị của .
Dữ liệu vào: Đọc từ tệp `PERMSTR.INP` gồm:
- Dòng thứ nhất chứa xâu ký tự ().
- Dòng thứ hai chứa xâu ký tự ().
Hai xâu chỉ bao gồm các chữ cái tiếng Anh in thường.
Dữ liệu ra: Ghi ra tệp `PERMSTR.OUT` một số nguyên duy nhất là số lượng đoạn con thỏa mãn yêu cầu.
Ví dụ:
PERMSTR.INP | PERMSTR.OUT | Giải thích |
|---|---|---|
`abbc` | `2` | Xâu gồm 1 ký tự 'a', 2 ký tự 'b', 1 ký tự 'c' (độ dài 4). |
Ràng buộc:
- Subtask 1 (50% số điểm): .
- Subtask 2 (50% số điểm): .
Bài 3 (4,0 điểm). Đoạn thặng dư ngắn nhất
Cho dãy số nguyên gồm phần tử và hai số nguyên dương ().
Một đoạn con liên tiếp () có tổng các phần tử là . Đoạn con này được gọi là đoạn thặng dư bậc nếu tổng khi chia cho có số dư đúng bằng , nghĩa là:
Yêu cầu: Hãy tìm độ dài nhỏ nhất của một đoạn thặng dư trong dãy . Độ dài của đoạn con từ chỉ số đến được tính bằng . Nếu không tồn tại đoạn thặng dư nào, in ra .
Dữ liệu vào: Đọc từ tệp `DIFFSEG.INP` gồm:
- Dòng đầu tiên chứa ba số nguyên (; ; ).
- Dòng thứ hai chứa số nguyên (), các số cách nhau một khoảng trắng.
Dữ liệu ra: Ghi ra tệp `DIFFSEG.OUT` một số nguyên duy nhất là độ dài nhỏ nhất của đoạn thặng dư tìm được, hoặc ghi nếu không tồn tại.
Ví dụ:
DIFFSEG.INP | DIFFSEG.OUT | Giải thích |
|---|---|---|
`6 5 2` | `1` | Các đoạn con có tổng chia 5 dư 2: |
`5 7 4` | `2` | Đoạn có tổng . |
Ràng buộc:
- Subtask 1 (40% số điểm): .
- Subtask 2 (60% số điểm): .
Bài 4 (4,0 điểm). Khai thác khoáng sản
Một khu vực thăm dò khoáng sản được mô hình hóa bởi một bảng số hình chữ nhật gồm hàng và cột. Ô nằm ở hàng , cột có trữ lượng quặng là một số nguyên ().
Một giàn khoan khai thác dạng chữ X có kích thước ( là số nguyên lẻ, ) khi đặt vào bảng sẽ bao phủ một hình vuông con kích thước . Giàn khoan chỉ hút quặng tại các ô nằm trên hai đường chéo (đường chéo chính và đường chéo phụ) của hình vuông con đó.
Hiệu suất của giàn khoan được tính bằng tổng trữ lượng của tất cả các ô nằm trên hai đường chéo của hình vuông con kích thước đó (ô giao điểm ở tâm chỉ được cộng đúng 1 lần).
Yêu cầu: Cho kích thước bảng , kích thước giàn khoan và ngưỡng hiệu suất . Hãy đếm xem có bao nhiêu vị trí đặt hình vuông con trong bảng sao cho hiệu suất của giàn khoan đạt từ trở lên.
Dữ liệu vào: Đọc từ tệp `MINE.INP` gồm:
- Dòng thứ nhất chứa bốn số nguyên (; , là số lẻ; ).
- dòng tiếp theo, dòng thứ chứa số nguyên ().
Dữ liệu ra: Ghi ra tệp `MINE.OUT` một số nguyên duy nhất là số lượng vị trí đặt giàn khoan thỏa mãn.
Ví dụ:
MINE.INP | MINE.OUT | Giải thích |
|---|---|---|
`4 4 3 15` | `2` | Bảng kích thước , giàn khoan , ngưỡng . |
Ràng buộc:
- Subtask 1 (40% số điểm): .
- Subtask 2 (60% số điểm): .
Bài 5 (4,0 điểm). Dãy bậc thang dài nhất
Cho một dãy số nguyên gồm phần tử và hai số nguyên dương ().
Một dãy con của dãy thu được bằng cách chọn ra một số phần tử giữ nguyên thứ tự xuất hiện ban đầu: với . Dãy con này được gọi là dãy bậc thang tăng nếu:
1. Dãy có độ dài ;
2. Với mọi (), hiệu giữa hai phần tử liên tiếp thỏa mãn:
Yêu cầu: Hãy tìm độ dài lớn nhất của một dãy con bậc thang tăng trích từ dãy .
Dữ liệu vào: Đọc từ tệp `STAIRS.INP` gồm:
- Dòng đầu tiên chứa ba số nguyên ().
- Dòng thứ hai chứa số nguyên (), các số cách nhau một khoảng trắng.
Dữ liệu ra: Ghi ra tệp `STAIRS.OUT` một số nguyên duy nhất là độ dài lớn nhất của dãy con bậc thang tìm được.
Ví dụ:
STAIRS.INP | STAIRS.OUT | Giải thích |
|---|---|---|
`7 2 4` | `4` | Dãy con bậc thang dài nhất có độ dài 4, ví dụ dãy chọn tại các chỉ số là: . |
Ràng buộc:
- Subtask 1 (30% số điểm): .
- Subtask 2 (40% số điểm): .
- Subtask 3 (30% số điểm): .
--------- HẾT ---------
Thí sinh không được sử dụng tài liệu và thiết bị truyền tin. Giám thị không giải thích gì thêm.
Họ và tên thí sinh: ................................................................ Số báo danh: ........................


