PHÒNG GIÁO DỤC VÀ ĐÀO TẠO BÀI KIỂM TRA HỌC SINH GIỎI LỚP 9
THÀNH PHỐ THANH HOÁ Môn thi: Tin học. Ngày kiểm tra: 17/08/2023 (Đề thi gồm 04 câu 02 trang) Thời gian: 150 phút
TỔNG QUAN ĐỀ THI
TT Tên bài Tên file CT Dữ liệu vào Kết quả ra Điểm Câu 1 Doanh Thu DT.* DT.INP DT.OUT 8 Câu 2 Chính Phương CP.* CP.INP CP.OUT 6 Câu 3 Dãy Đẹp DAYDEP.* DAYDEP.INP DAYDEP.OUT 4 Câu 4 Đoạn Nguyên Tố DOANNT.* DOANNT.INP DOANNT.OUT 2 Dấu * được thay thế bằng CPP nếu là ngôn ngữ C++ hoặc PY nếu là ngôn ngữ PYTHON. Dữ liệu vào hoặc ra nếu có nhiều số trên một dòng thì các số luôn được cách nhau bởi 1 dấu cách trống. Hãy lập trình giải các bài toán sau: Câu 1. Doanh Thu Sâu vừa khai trương một cửa hàng nem chua ở đường quốc lộ 1A vào ngày chủ nhật. Qua khảo sát doanh thu bán hàng vào những ngày đầu của cửa hàng, Sâu nhận thấy vào những ngày thường trong tuần, doanh thu của cửa hàng là x đồng mỗi ngày. Riêng vào hai ngày thứ 7 và chủ nhật, doanh thu của cửa hàng là y đồng mỗi ngày. Sâu muốn biết nếu cửa hàng nem chua vẫn hoạt động ổn định như vậy thì tổng doanh thu đạt được là bao nhiêu sau n ngày? Dữ liệu: Vào từ file DT.INP gồm một dòng chứa 3 số nguyên dương x, y, n (x, y ≤ 106). Kết quả: Ghi ra file DT.OUT là một số nguyên dương duy nhất là tổng doanh thu của n ngày liên tiếp. Biết rằng ngày đầu tiên là ngày khai trương và cửa hàng vẫn bán hàng bình thường. Ví dụ: DT.INP DT.OUT DT.INP DT.OUT 232 5 234 9 Giải thích: - Ở ví dụ đầu là n = 2 nghĩa là ngày thứ nhất là chủ nhật + ngày thứ hai là thứ 2: 3+2 = 5 - Ở ví dụ 2 là n = 4 nghĩa là ngày thứ nhất là chủ nhật + ngày thứ hai là thứ hai + ngày thứ ba thứ 3 + ngày thứ tư là thứ 4 = 3+2+2+2 = 9; Giới hạn: + Có 50% số điểm có n ≤ 6; + Có 30% số điểm có n ≤ 100; + Có 20% số điểm có n ≤ 1012. Câu 2. Chính Phương Cho 2 số nguyên dương A, B ( 1 ≤ A ≤ B ≤ 10 12). Và người ta định nghĩa số chính phương là bình phương của một số. Ví dụ: 9 là số chính phương vì 9 = 3 2. Yêu cầu: Đếm số lượng số chính phương trong đoạn [A, B]. Dữ liệu: Vào từ file CP.INP gồm một dòng duy nhất chứa 2 số nguyên dương A và B. Kết quả: Ghi ra file CP.OUT một số nguyên là kết quả của bài toán. Ví dụ: CP.INP CP.OUT 24 1 Giới hạn: + Có 30 % số điểm có A = B; + Có 30 % số điểm có B ≤ 106; + Có 40 % số điểm có B ≤ 1012. Câu 3. Dãy Đẹp Cho dãy số nguyên gồm N phần tử a1, a2, …aN. Một đoạn con liên tiếp các phần tử từ ai, ai+1, …, aj (1 ≤ i ≤ j ≤ N) là dãy đẹp nếu: ai = aj; Tổng các phần tử : ai + ai+1 + …aj là lớn nhất. Yêu cầu: Tìm một đoạn con liên tiếp các phần tử thoả mãn là dãy đẹp và tính tổng các phần tử trong đoạn con đó. Dữ liệu: Vào từ file DAYDEP.INP gồm: + Dòng đầu tiên là số nguyên dương N; + Dòng thứ hai là N số nguyên dương a1, a2, …aN (ai ≤ 103, 1 ≤ i ≤ N); Kết quả: Ghi ra file DAYDEP.OUT gồm 2 dòng: + Dòng thứ nhất là tổng các phần tử trong dãy đẹp + Dòng thứ hai là dãy số đẹp tìm được (nếu có nhiều dãy thoả mãn thì in ra dãy có các phần tử xuất hiện đầu tiên tính từ trái qua phải). Ví dụ: DAYDEP.INP DAYDEP.OUT 7 16 1 3 10 3 2 12 2 3 10 3 Giới hạn: + Có 40% số điểm có N ≤ 102; + Có 30% số điểm có N ≤ 5.103; + Có 30% số điểm có N ≤ 5.105. Câu 4. ĐOẠN NGUYÊN TỐ Cho một dãy số nguyên dương 𝐴 = (𝑎1, 𝑎2, … , 𝑎n) (𝑎i ≤ 106; 1 ≤ 𝑖 ≤ 𝑛). Với mỗi phần tử 𝑎i bạn được phép tăng hoặc giảm một lượng tùy ý để được một số nguyên tố. Khi đó chi phí của bạn cần bỏ ra chính là lượng tăng hoặc giảm đó. Yêu cầu: Hãy chọn ra một đoạn con gồm 𝑘 phần tử liên tiếp nhau của dãy 𝐴 sao cho tổng chi phí biến đổi mọi phần tử trong đoạn con đó thành các số nguyên tố là nhỏ nhất. Dữ liệu: Vào từ file DOANNT.INP có cấu trúc như sau: -Dòng 1: Chứa hai số nguyên dương 𝑛, 𝑘 (1 ≤ 𝑘 ≤ 𝑛 ≤ 105); -Dòng 2: Chứa 𝑛 số nguyên dương 𝑎1, 𝑎2, . . , 𝑎n (𝑎i ≤ 106 ∀𝑖 = 1,2, … , 𝑛). Kết quả: Ghi ra file DOANNT.OUT một số nguyên duy nhất là tổng chi phí biến đổi nhỏ nhất tìm được. Ví dụ: DOANNT.INP DOANNT.OUT 42 1 9 5 8 15 Giải thích: chọn đoạn [5,8], biến đổi 8 → 7 với chi phí là 1. Giới hạn: - Có 20% số điểm có 𝑎𝑖 đều là số nguyên tố ∀ 𝑖 = 1,2, … , 𝑛; - Có 40% số điểm có 𝑛, 𝑘 ≤ 5000; 𝑎𝑖 ≤ 5000 ∀ 𝑖 = 1,2, … , 𝑛; - Có 40% số điểm còn lại không có ràng buộc bổ sung.
Dữ liệu vào: Từ tệp văn bản DIVFIVE.INP chỉ ghi số nguyên dương N (N ≤ 10 Kết quả: Ghi ra tệp DIVFIVE.OUT số chia hết cho 5 tìm được. Nếu bài toán không Ví dụ