Bộ đề ôn luyện thi Học sinh giỏi Tin học 11 cấp Trường (Có giải chi tiết)
Bạn đang xem 30 trang mẫu của tài liệu "Bộ đề ôn luyện thi Học sinh giỏi Tin học 11 cấp Trường (Có giải chi tiết)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
Tóm tắt nội dung tài liệu: Bộ đề ôn luyện thi Học sinh giỏi Tin học 11 cấp Trường (Có giải chi tiết)
Bộ đề ôn luyện thi Học sinh giỏi Tin học 11 cấp Trường (Có giải chi tiết) - De-Thi.com ĐỀ SỐ 6 TRƯỜNG THPT TRIỆU SƠN 5 ĐỀ THI HỌC SINH GIỎI CẤP TRƯỜNG NĂM HỌC Môn thi:TIN HỌC – KHỐI 11 ĐỀ CHÍNH THỨC Thời gian: 180 phút(không kể thời gian giao đề) (Đề thi gồm có 3 trang) Tổng quan bài thi: Bài Tên bài File chương trình File dữ liệu File kết quả 1 Xoá kí tự trong số nguyên BAI1.PAS SONGUYEN.INP SONGUYEN.OUT 2 Xóa kí tự trong xâu BAI2.PAS KITU.INP KITU.OUT 3 T ìm xâu dài nhất BAI3.PAS XAU.INP XAU.OUT 4 Sự xuất hiện của các kí tự BAI4.PAS KIEMTRA.INP KIEMTRA.OUT 5 Tìm dãy con BAI5.PAS DAYCON.INP DAYCON.OUT Hãy lập trình giải các bài toán sau: Câu 1(5 điểm): Nhập vào số nguyên N và xóa đi k kí tự để N là nhỏ nhất Dữ liệu vào : Từ tệp vă bản SONGUYEN.INP chứa số nguyên N và K Dữ liệu ra: Ghi kết quả vào tệp SONGUYEN.OUT số nguyên N nhỏ nhất sau khi xóa k kí tự Ví dụ: SONGUYEN.INP SONGUYEN.OUT 124512 1212 2 Câu 2(5 điểm): Nhập vào một xâu, nếu tính từ trái sang phải thì kí tự ? là dấu hiệu xóa đi một kí tự đứng ngay trước nó nếu có. Sau đó in ra màn hình xâu đã chỉnh sửa Dữ liệu vào:Từ tệp văn bản KITU.INP gồm một xâu Dữ liệu ra: Ghi kết quả ra tệp văn bản KITU.OUT là xau sau khi xóa Ví dụ: KITU.INP KITU.OUT Ho1?c sin12?a???nh Hoc sinh Câu 3(4 điểm): Nhập vào một dãy gồm N xâu. Hãy đưa ra màn hình xâu nào có độ dài lớn nhất. Dữ liệu vào: từ tệp văn bản XAU.INP gồm: - Dòng đầu là một số nguyên N - N dòng tiếp theo mỗi dòng chứa một xâu Dữ liệu ra: Xâu có độ dài nhiều nhất ghi vào tệp văn bản XAU.OUT XAU.INP XAU.OUT 3 Hbghjghjghj FHDFHD De-Thi.com Bộ đề ôn luyện thi Học sinh giỏi Tin học 11 cấp Trường (Có giải chi tiết) - De-Thi.com Ví dụ: Hbghjghjghj Hgf Câu 4(3 điểm): Cho một dãy số nguyên gồm N số và một số nguyên K. Hãy cho biết K có trong dãy số đó hay không? Nếu có nó xuất hiện bao nhiêu lần? Dữ liệu vào: Từ tệp văn bản KIEMTRA.INP gồm: - Dòng thứ nhất là N - Dòng thứ hai là dãy N phần tử, mỗi phần tử cách nhau một dấu cách - Dòng thứ 3 là số nguyên K Dữ liệu ra: Số lần xuất hiện của K có trong dãy số ghi vào tệp KIEMTRA.OUT Ví dụ: KIEMTRA.INP KIEMTRA.OUT 4 1 12 45 78 2 12 4 0 45 58 5 6 12 Câu 5(3 điểm): Cho một mảng gồm N phần tử. Hãy tìm dãy con gồm M phần tử (M<N) Sao cho dãy con này có tổng lớn nhất Dữ liệu vào: Từ tệp văn bản DAYCON.INP gồm: - Dòng đầu là N - Dòng thứ hai là N phần tử - Dòng thứ 3 là M Dữ liệu ra: Dãy con có tổng lớn nhất ghi vào tệp DAYCON.OUT Ví dụ DAYCON.INP DAYCON.OUT 5 78 45 26 1 78 45 26 3 3 ...................Hết..................... (Cán bộ coi thi không giải thích gì thêm) De-Thi.com Bộ đề ôn luyện thi Học sinh giỏi Tin học 11 cấp Trường (Có giải chi tiết) - De-Thi.com ĐÁP ÁN Câu Nội dung Điểm Kiểm tra chương trình với 5 test tương ứng với 5 số N. 5điểm - Mỗi test đúng ứng . 1điểm - Chương trình: Program bai1; Var t1,t2:text; N,i,j,k:int64; St: ansistring; 1 Kt:b oolean; Begin Assign(t1,’SONGUYEN.INP’); Assign(t2,’SONGUYEN.OUT’); Reset(t1); Rewrite(t2); Readln(n); Str(n,st); Readln(k); For i:=1 to k do Begin Kt:=true; For j:=1 to length(st)-1 do if st[j] >st[j+1] then Begin Delete(st,j,1); Kt:=false; Break; End; If kt then delete(st,length(st), 1); End; While (st[1] = ‘0’) and (length(st)>1) do delete(st,1,1); Writeln(st); Close(t1); close(t2); End. Kiểm tra chương trình với 5 test ứng với 5 xâu 5điểm De-Thi.com Bộ đề ôn luyện thi Học sinh giỏi Tin học 11 cấp Trường (Có giải chi tiết) - De-Thi.com - Mỗi test đúng ứng với 1điểm - Chương trình: Program bai1; Var t1,t2:text; a: string; i:integer; 2 Begin Assign(t1,’KITU.INP’); Assign(t2,’KITU.OUT’); Reset(t1); Rewrite(t2); Readln(A); For i:=1 to length(a) do if a[i]= ‘? ‘ then delete(a,i+1,1); Write(a); Readln; End. Kiểm tra chương trình với 4 test ứng với 4 dữ liệu vào 4điểm - Mỗi test đúng ứng với 1điểm - Chương trình: Program bai1; Var t1,t2:text; A:string; 3 Max: array[1..10000] of integer; N,i,j,lonnhat:integer; Begin Assign(t1,’XAU.INP’); Assign(t2,’XAU.OUT’); Reset(t1); Rewrite(t2); Readln(N); For i:=1 to N do Begin Readln(a); Max[i]:=length(a); End; Lonnhat:=max[1]; For i:=2 to N do if max[i]>lonnhat then lonhat:=max; De-Thi.com Bộ đề ôn luyện thi Học sinh giỏi Tin học 11 cấp Trường (Có giải chi tiết) - De-Thi.com For j:=1 to lonnhat write(a); Readln; End. Kiểm tra chương trình với 3 test ứng với 4 xâu 3điểm - Mỗi test đúng ứng với 1điểm - Chương trình: 4 Program bai1; Var t1,t2:text; a: array[1..10000] of int64; i,k,n:integer; Begin Assign(t1,’KIEMTRA.INP’); Assign(t2,’KIEMTRA. OUT’); Reset(t1); Rewrite(t2); Readln(n); For i:=1 to n readln a[i]; Readln(k); For i:=1 to n do if a [i] =k then inc(dem); Write(dem); Readln; End. Kiểm tra chương trình với 3 test ứng với 3 dữ liệu vào 3điểm - Mỗi test đúng ứng với 1điểm - Chương trình: Program bai1; Var t1,t2:text; a: array[1..10000] of integer; i,j n,m ,k,s,max:integer; Begin Assign(t1,’DAYCON.INP’); Assign(t2,’DAYCON.OUT’); Reset(t1); Rewrite(t2); 5 readln(n); For i:=1 to n do readln(a[i]); De-Thi.com Bộ đề ôn luyện thi Học sinh giỏi Tin học 11 cấp Trường (Có giải chi tiết) - De-Thi.com Readln(m); Max:=0; K:=1 For i:=1 to m do max:=max+a[i]; For i:=2 to n-m+1 do Begin S:=0; For j:=i to i+m-1 do s:= s+a[i]; If s>max then Begin Max:=s; K:=i; End; End; For i:=k to k+m-1 do write(a[i]); Readln; End. De-Thi.com Bộ đề ôn luyện thi Học sinh giỏi Tin học 11 cấp Trường (Có giải chi tiết) - De-Thi.com ĐỀ SỐ 7 SỞ GIÁO DỤC VÀ ĐÀO TẠO KỲ THI HỌC SINH GIỎI CẤP TRƯỜNG QUẢNG NAM Môn thi : TIN HỌC - LỚP 11 Thời gian : 150 phút (không kể thời gian giao đề) ĐỀ CHÍNH THỨC Ngày thi : (Đề thi có 04 trang) TỔNG QUAN ĐỀ THI TỔNG QUAN ĐỀ BÀI File chương Thời Bài Tên bài File dữ liệu vào File kết quả trình gian Tổng bình phương 1 SQUARE.* SQUARE.INP SQUARE.OUT 1 s các chữ số Ước chung lớn 2 MAXGCD.* MAXGCD.INP MAXGCD.OUT 1 s nhất 3 Sơn gạch SONGACH.* SONGACH.INP SONGACH.OUT 1 s 4 Thỏ và cà rốt RABBIT.* RABBIT.INP RABBIT.OUT 1 s Dấu * được thay thế bởi PAS hoặc CPP của ngôn ngữ lập trình được sử dụng tương ứng là Pascal hoặc C++. Hãy lập trình giải các bài toán sau: Bài 1. Tổng bình phương các chữ số (5 điểm) Cho một số tự nhiên N (N ≤ 1064). Yêu cầu: Hãy viết chương trình tính tổng bình phương các chữ số của số tự nhiên đã cho. Ví dụ: N=12. Tổng bình phương các chữ số của nó là 5 = 12 + 22. Dữ liệu vào: Từ tệp văn bản SQUARE.INP gồm một số N. Kết quả: Ghi ra tệp văn bản SQUARE.OUT gồm một số duy nhất tìm được. Ví dụ: SQUARE.INP SQUARE.OUT 12 5 Ràng buộc: • Có 60% test tương ứng 60% số điểm của bài với N ≤ 106; • Có 20% test tương ứng 20% số điểm của bài với N ≤ 1018; • Có 20% test khác tương ứng với 20% số điểm còn lại của bài với N ≤ 1064. Bài 2. Ước chung lớn nhất (5 điểm) Minh trong lúc rảnh rỗi đã nghĩ ra một nhiệm vụ cho bản thân để thư giãn một chút. Anh ta chọn hai số nguyên A và B rồi tính ước số chung lớn nhất của các số nguyên "A giai thừa" và "B giai thừa". Minh muốn tìm ra GCD (A!, B!). Ai cũng biết rằng giai thừa của số nguyên x là tích của tất cả các số nguyên De-Thi.com Bộ đề ôn luyện thi Học sinh giỏi Tin học 11 cấp Trường (Có giải chi tiết) - De-Thi.com dương nhỏ hơn hoặc bằng x. Như vậy x! = 1*2*3*...*(x - 1)*x. Ví dụ 4! = 1*2*3*4 = 24. Nhắc lại rằng GCD (x, y) là số nguyên dương q lớn nhất chia (không có dư) cho cả x và y. Yêu cầu: Tìm ước chung lớn nhất của A! và B! . Dữ liệu vào: Từ tệp văn bản MAXGCD.INP gồm: • Một dòng chứa hai số nguyên A và B (1 ≤ A, B < 105). Mỗi số cách nhau một khoảng trắng. Kết quả : Ghi ra tệp văn bản MAXGCD.OUT gồm: • Một số nguyên dương là ước số chung lớn nhất của các số nguyên A! và B !. Do ước chung lớn nhất của A! và B! có thể rất lớn nên ghi kết quả chia dư cho 109 + 7. Ví dụ: MAXGCD.INP MAXGCD.OUT 4 3 6 Ràng buộc: • Có 50% test tương ứng 50% số điểm của bài với 1 ≤ A, B < 105, min (A, B) ≤ 12; • Có 30% test tương ứng 30% số điểm của bài với A, B ≤ 100; • Có 20% test khác tương ứng với 20% số điểm còn lại của bài với A, B < 105. Bài 3. Sơn gạch (5 điểm) Có n viên gạch xếp thành hàng trên mặt đất. Minh có m thùng sơn khác màu nhau. Minh sẽ sơn n viên gạch với m màu đó. Minh muốn sơn sao cho có k viên gạch đặc biệt mà màu của viên gạch đó khác với màu của các viên gạch ở phía bên trái của nó (không tính viên gạch đầu tiên). Yêu cầu: Đếm xem có bao nhiêu cách sơn gạch thỏa mãn yêu cầu của Minh? Hai cách sơn được gọi là khác nhau nếu có ít nhất 1 viên gạch được sơn khác màu với cách còn lại. Đáp án có thể là một số khá lớn nên bạn có thể ghi ra kết quả là số cách chia dư cho 998 244 353. Dữ liệu vào: Từ tệp văn bản SONGACH.INP gồm • Một dòng duy nhất chứa ba số nguyên n, m và k (1 ≤ n, m ≤ 2000, 0 ≤ k ≤ n-1) – số viên gạch, số màu và số viên gạch đặc biệt. Kết quả: Ghi ra tệp văn bản SONGACH.OUT gồm một số duy nhất là số cách sơn thỏa mãn chia dư cho 998 244 353. Ví dụ: SONGACH.INP SONGACH.OUT 3 3 0 3 SONGACH.INP SONGACH.OUT 3 2 1 4 Ràng buộc: • Có 30% test tương ứng 30% số điểm của bài với 1 ≤ n, m ≤ 2000, k = 0; • Có 30% test tương ứng 30% số điểm của bài với 1 ≤ n, m, k ≤ 10; • Có 40% test khác tương ứng với 40% số điểm còn lại của bài với 1 ≤ n, m ≤ 2000, 0<k ≤ n-1). De-Thi.com Bộ đề ôn luyện thi Học sinh giỏi Tin học 11 cấp Trường (Có giải chi tiết) - De-Thi.com Bài 4. Thỏ và cà rốt (5 điểm) Một lưới NxN ô vuông gồm có N hàng và N cột. Các hàng được đánh số từ 1 đến N (từ trên xuống) và các cột đánh số từ 1 đến N( từ trái qua). Một con Thỏ xuất phát từ ô (1, 1) và muốn di chuyển đến ô có đặt củ cà rốt là ô (X, Y). Người ta đặt các chướng ngại vật để Thỏ không được đi qua ở các ô đánh số 1; các ô không đặt chướng ngại vật được đánh số 0 và Thỏ có thể đi qua các ô này. Từ ô đang đứng, Thỏ chỉ có thể di chuyển đến 3 ô kề cạnh: một ô bên dưới và hai ô ở hai bên. Thỏ không thể di chuyển ra ngoài đường biên của lưới. Yêu cầu: Tìm đường đi ngắn nhất (đi qua ít ô nhất) của Thỏ. Dữ liệu vào: Từ tệp văn bản RABBIT.INP gồm: • Dòng đầu ghi số 3 số nguyên dương: N, X, Y (N 1000; X N; Y N ). • N dòng tiếp theo mỗi dòng ghi N số nguyên 0 hoặc 1, mỗi số cách nhau một khoảng trắng. (Riêng số đầu tiên của dòng thứ nhất và số thứ Y của dòng X ghi số 0 của lưới). Kết quả : Ghi ra tệp văn bản RABBIT.OUT gồm: • Một số nguyên dương là số các ô mà Thỏ đi qua (kể cả ô xuất phát và ô đích). Trong trường hợp Thỏ không di chuyển được đến ô đặt củ cà rốt thì phải ghi số 0. Ví dụ: RABBIT.INP RABBIT.OUT 5 3 4 6 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 RABBIT.INP RABBIT.OUT 5 3 4 0 0 0 1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 Ràng buộc: • Có 10% test tương ứng 10% số điểm của bài với N ≤ 10 và trong lưới duy nhất có một chướng ngại vật ô (i, j) sao cho i ≤ X; j ≤ Y ; • Có 40% test tương ứng 40% số điểm của bài với N ≤ 10; • Có 40% test tương ứng 40% số điểm của bài với N ≤ 100; • Có 10% test khác tương ứng với 10% số điểm còn lại của bài với N ≤ 103. ---------------Hết--------------- De-Thi.com Bộ đề ôn luyện thi Học sinh giỏi Tin học 11 cấp Trường (Có giải chi tiết) - De-Thi.com ĐÁP ÁN Chấm bài bằng chương trình chấm Themis mới nhất (có kèm theo) cài đặt trên hệ điều hành Windows 10 (64bit) trở lên, các tests đã cài đặt sẵn cấu hình chấm bài. Bài 1: (5 điểm) Có 20 tests, mỗi TEST đúng được 0.25 điểm. Thời gian chạy 1s/ 1test. Bộ nhớ 1024M. TEST SUMN.INP SUMN.OUT 1 1111 4 ... ... ... 20 Bài 2: (5 điểm) Có 20 tests, mỗi TEST đúng được 0.25 điểm. Thời gian chạy 1s/ 1test. Bộ nhớ 1024M. TEST MAXGCD.INP MAXGCD.OUT 1 10 3996 3628800 ... ... ... 20 Bài 3: (5 điểm) Có 20 tests, mỗi TEST đúng được 0.25 điểm. Thời gian chạy 1s/ 1test. Bộ nhớ 1024M. TEST SONGACH.INP SONGACH.OUT 1 3 3 2 12 ... ... ... 20 Bài 4: (5 điểm) Có 25 tests, mỗi TEST đúng được 0.2 điểm. Thời gian chạy 1s/ 1test. Bộ nhớ 1024M. TEST SUBSTR.INP SUBSTR.OUT 7 3 5 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 11 1 0 1 0 0 0 0 1 1 0 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 0 1 ... ... ... 25 ------------------------------------HẾT---------------------------------- De-Thi.com
File đính kèm:
bo_de_on_luyen_thi_hoc_sinh_gioi_tin_hoc_11_cap_truong_co_gi.docx

