Nhằm giúp các bạn củng cố lại kiến thức đã học và rèn luyện kỹ năng làm bài tập, mời các bạn cùng tham khảo Đề thi học sinh giỏi môn Tin học lớp 12 cấp trường năm 2019-2020 - Trường THPT Chuyên Nguyễn Trãi, Hải Dương dưới đây. Hy vọng sẽ giúp các bạn tự tin hơn trong kỳ thi học sinh giỏi sắp tới.
ĐỀ THI CHỌN HỌC SINH GỎI LỚP 12 VOI Training Camp Môn : Tin học Ngày thi: 07 tháng năm 2019 Thời gian 180 phút (Đề thi có trang) Tổng quan thi đề TT Tên Đường làng Bình phương Diện tích bị phủ Khơi phục hốn vị File Chương trình VROAD.* SQRMOD.* AREA.* RESTORE.* File liệu VROAD.INP SQRMOD.INP AREA.INP RESTORE.INP File kết VROAD.OUT SQRMOD.OUT AREA.OUT RESTORE.OUT Điểm 5 5 Phần mở rộng File chương trình PAS CPP tùy theo ngơn ngữ lập trình sử dụng Pascal C++ Cấu hình dịch: G++ 4.9.2: -std=c++11 -O2 -s -static -Wl, stack,66060288 -lm -x c++ FPC 3.0.4: -O2 -XS -Sg -Cs66060288 Viết chương trình giải toán sau: Bài (5 điểm) Đường làng Có n làng Để đơn giản, làng mô tả điểm mặt phẳng tọa độ Điểm thứ i có tọa độ xi, yi Người ta muốn xây dựng đường cao tốc song song với trục hồnh Khi đó, từ điểm làng nhân dân làm đường dân sinh từ làng đến đường cao tốc theo hướng song song với trục tung Mỗi làng làm đường (không chung nhau) Hai đường dân sinh trùng mặt phẳng tọa độ - tất nhiên có bên Hỏi giá trị nhỏ tổng độ dài tất 𝑛 đường dân sinh bao nhiêu? Dữ liệu: Vào từ file văn VROAD.INP • Dịng ghi số ngun dường 𝑛 (𝑛 ≤ 100) • 𝑛 dịng tiếp theo, dịng thứ 𝑖 ghi hai số nguyên 𝑥𝑖 , 𝑦𝑖 tọa độ làng thứ 𝑖 Kết quả: Ghi file văn VROAD.OUT số nguyên giá trị nhỏ tổng độ dài 𝑛 đường dân sinh Ví dụ: VROAD.INP 0 3 VROAD.OUT Bài (5 điểm) Bình phương Xét dãy số nguyên vô hạn 𝑎1 , 𝑎2 , 𝑎3 , … với 𝑎1 (0 ≤ 𝑎1 < 10000) cho trước phần tử cịn lại tính theo công thức: 𝑎𝑖 = (𝑎𝑖−1 )2 mod 10000 Yêu cầu: Biết 𝑎1 𝑛 Hãy xác định 𝑎𝑛 Dữ liệu: Vào từ file văn SQRMOD.INP gồm dòng chứa hai số nguyên 𝑎1 , 𝑛 cách dấu cách Kết quả: Ghi file văn SQRMOD.OUT giá trị 𝑎𝑛 Ví dụ: SQRMOD.INP 11 SQRMOD.OUT 4641 Ghi chú: Có 50% số test ứng với 50% số điểm có 𝑛 ≤ 106 Trang: Bài (5 điểm) Diện tích bị phủ Trên mặt phẳng tọa độ cho 𝑛 hình chữ nhật đánh số 1, 2, , 𝑛 Hình chữ nhật thứ 𝑖 mô tả số nguyên 𝑥𝑖 , 𝑦𝑖 , 𝑢𝑖 , 𝑣𝑖 (𝑥𝑖 , 𝑦𝑖 ) tọa độ góc - trái cịn (𝑢𝑖 , 𝑣𝑖 ) tọa độ góc trên-phải Hãy tính diện tích phần mặt phẳng tọa độ bị phủ hình chữ nhật? Dữ liệu: Vao từ file văn AREA.INP • Dịng chứa số nguyên dương 𝑛 (𝑛 ≤ 105 ) • 𝑛 dòng tiếp theo, dòng thứ 𝑖 chứa bốn số nguyên 𝑥𝑖 , 𝑦𝑖 , 𝑢𝑖 , 𝑣𝑖 cách dấu cách có trị tuyệt đối khơng vượt q 109 (𝑥𝑖 < 𝑢𝑖 , 𝑦𝑖 < 𝑣𝑖 ) Kết quả: Một số nguyên diện tích phần mặt phẳng tọa độ bị phủ hình chữ nhật Ví dụ: AREA.INP 0 2 1 3 AREA.OUT Ghi chú: • Có 40% số test có 𝑛 ≤ 100, tọa độ số nguyên nằm khoảng 1000 • Cịn lại có 30% số test có 𝑛 ≤ 105 , tọa độ số nguyên khoảng 1000 • Cịn lại có 20% số test có 𝑛 ≤ 105 , tọa độ số nguyên khoảng 105 • 10% số test cịn lại khơng có ràng buộc thêm Bài (5 điểm) Khơi phục hốn vị Dãy số 𝑝1 , 𝑝2 , … , 𝑝𝑛 gọi hoán giá trị 1, 2, , 𝑛 xuất lần dãy Ví dụ dãy sau hốn vị: (3,1,2), (1), (1, 2, 3, 4, 5) (4, 3, 1, 2) cịn dãy sau khơng phải hốn vị (2), (1, 1), (2, 3, 4) Có hốn vị cần phải tìm có độ dài 𝑛 Với vị trí 𝑖, bạn cho số nguyên 𝑠𝑖 tổng tất 𝑝𝑗 cho 𝑗 < 𝑖 𝑝𝑗 < 𝑝𝑖 Nói cách khác 𝑠𝑖 tổng tất phần tử đứng trước vị trí 𝑖 có giá trị nhỏ 𝑝𝑖 Nhiệm vụ bạn cần xác định hoán vị Dữ liệu: Vào từ file văn RESTORE.INP • Dịng chứa số nguyên dương 𝑛 (1 ≤ 𝑛 ≤ ∙ 105 ) • Dịng thứ hai chứa 𝑛 số nguyên 𝑠1 , 𝑠2 , … , 𝑠𝑛 (0 ≤ 𝑠𝑖 ≤ 𝑛(𝑛−1) ) Hai số liên tiếp cách dấu cách Dữ liệu đảm bảo ln tồn hốn vị phù hợp Kết quả: Ghi file văn RESTORE.OUT Gồm dòng ghi 𝑛 số nguyên 𝑝1 , 𝑝2 , … , 𝑝𝑛 cách dấu cách hốn vị tìm Chúng chứng minh hốn vị ln Ví dụ: RESTORE.INP 0 1 10 RESTORE.OUT 1 Ghi chú: Có 50% số test ứng với 50% số điểm có 𝑛 ≤ 5000 -HẾT - Trang: ...