TRƯỜNG CHUYÊN LÊ QUÝ ĐÔN BRVT ĐỀ KIỂM TRA GIỮA KỲ 1
TỔ TIN HỌC NĂM HỌC 2021 – 2022
Môn: TIN HỌC- LỚP 10
Thời gian làm bài: 110 phút.
Đề thi có 03 trang. TỔNG QUAN ĐỀ THI Tên bài Tên file CT Tên file dữ liệu vào Tên file kết quả BÀI 1 Bishu chiến đấu BISHU.* BISHU.INP BISHU.OUT BÀI 2 Chính phương SQROOT.* SQROOT.INP SQROOT.OUT BÀI 3 Trung bình lớn nhất AVERAGE.* AVERAGE.INP AVERAGE.OUT Dấu * được thay thế bởi đuôi của ngôn ngữ lập trình tương ứng. Hãy lập trình giải các bài toán sau: Bài 1(7 điểm): BISHU chiến đấu Bishu đã chiến đấu với Câu lạc bộ Coding. Ở đây có N người lính với sức mạnh khác nhau. Sẽ có Q vòng để chiến đấu và trong mỗi vòng sức mạnh của Bishu sẽ khác nhau. Với sức mạnh M, Bishu có thể tiêu diệt tất cả những người lính có năng lực nhỏ hơn hoặc bằng M (<= M). Sau mỗi vòng đấu, tất cả những người lính đã chết trong vòng trước sẽ được tái sinh. Trong mỗi vòng sẽ có N chiến binh để chiến đấu. Vì Bishu yếu toán học nên bạn hãy giúp anh đếm số binh lính mà anh ta có thể tiêu diệt trong mỗi vòng và tổng sức mạnh của chúng. Yêu cầu: Tìm số binh lính và tổng số sức mạnh mà Bishu có thể tiêu diệt. Dữ liệu vào: từ file văn bản BISHU.INP - Dòng đầu tiên chứa số N người lính (1<=N<=10000) - Dòng thứ hai chứa năng lực của N người lính tương ứng (1<= ai <=100). - Dòng thứ ba chứa số vòng Q cần chiến đấu (1<=Q<=10000) - Dòng cuối cùng chứa năng lượng chiến đấu của Bishu tương ứng với Q vòng đấu Dữ liệu ra: ghi vào file BISHU.OUT: Số lính Bishu có thể tiêu diệt và tổng năng lượng của chúng tương ứng với mỗi vòng đấu. Ví dụ: BISHU.INP BISHU.OUT 7 36 1234567 7 28 3 23 3 10 2 Bài 2 (7 điểm): Chính phương An là một người yêu toán học nên thường xuyên tính toán với các con số. An vừa học về số chính phương và dễ dàng viết ra dãy A gồm các số nguyên dương là chính phương theo thứ tự từ bé đến lớn như sau: 1, 4, 9, 16, 25, 36…. Để xác định một số chính phương là vô cùng dễ dàng. An thắc mắc tổng của n số đầu tiên trong dãy là bao nhiêu. Yêu cầu: Cho số tự nhiên n, hãy lập trình tính toán giúp An giá trị T là tổng của n số đầu tiên trong dãy A. Dữ liệu: vào từ file văn bản SQROOT.INP một dòng duy nhất là số nguyên dương 10 n( n ≤10 ) Kết quả: Ghi ra file văn bản SQROOT.OUT một số nguyên duy nhất là số dư của T trong phép chia cho 2021. SQROOT.INP SQROOT.OUT 4 30 SQROOT.INP SQROOT.OUT 20 849 Giải thích: - Trong ví dụ 1: T= 1+4+9+16=30. Số bạn cần đưa ra là 30 mod 2021=30 - Trong ví dụ 2: T= 1+4+9+…400=2870. Số bạn cần đưa ra là 2870 mod 2021= 849 Ràng buộc: - Có 60% test tương ứng với 60% số điểm có n 17 - Có 30% test khác tương ứng với 30% số điểm có n 2.103 - 10% số test còn lại tương ứng với 10% số điểm có n 1010 Bài 3 (6 điểm): Trung bình lớn nhất Cho số nguyên dương n và dãy số A1, A2, ..., AN . Gọi đoạn con [u,v] của dãy là các phần tử liên tiếp au, au+1, au+2,....av ( u v). Dễ thấy đoạn con [u,v] có độ dài là v-u+1 và giá trị trung bình là (Au+Au+1+Au+2+…Av) / (v - u+1). Yêu cầu: Cho số nguyên k, hãy xác định đoạn con có độ dài không nhỏ hơn k có giá trị trung bình lớn nhất. Dữ liệu: Vào từ file văn bản AVERAGE.INP Dòng đầu chứa 2 số nguyên dương n, k Dòng thứ 2 chứa n số nguyên A1, A2, ..., AN ( |ai| 109 , 1 i n), các số được phân tách nhau bởi dấu cách. Kết quả: Đưa ra file văn bản AVERAGE.OUT một số thực duy nhất là giá trị trung bình của đoạn con tìm được. Kết quả đưa ra lấy 3 chữ số thập phân sau dấu phẩy. Ví dụ: AVERAGE.INP AVERAGE.OUT 42 10.333 17 0 14 1 AVERAGE.INP AVERAGE.OUT 51 8.000 2 8 -1 4 5 Giải thích: -Trong ví dụ 1, đoạn con có giá trị trung bình lớn nhất thỏa mãn là đoạn [1,3] với các giá trị 17, 0, 14. -Trong ví dụ 2, đoạn con có giá trị trung bình lớn nhất thỏa mãn là đoạn [2,2] với giá trị là 8. Ràng buộc: - 20% số test tương ứng với 20% điểm có n 400; k=1; - 30% số test tương ứng với 30% điểm có 1 < k n 400. - 30% số test tương ứng với 30% điểm có 1 < k n 5.103 - 20% số test còn lại tương ứng với 20% số điểm có 1 < k n 2.105 -------Hết------
Trường Thpt Sầm Sơn Nhóm: Tin Học Đề thi gồm 3 trang Đề Thi Kscl Học Sinh Giỏi Khối 12 Lần 1 NĂM HỌC: 2023 -2024 Môn: Tin Học Thời gian làm bài: 150 phút