Đề thi, hướng dẫn làm các bài trong đề thi và bộ test dùng để chấm điểm. Chỉ cần tải về làm rồi dùng chương trình Themis để chấm bài. Nếu không làm được thì đọc hướng dẫn làm bài và đọc chương trình tôi đã viết (bằng C++ và Pascal) để biết. Cảm ơn
SỞ GD&ĐT ĐỀ THI KHẢO SÁT ĐỀ THI KHẢO SÁT CHẤT LƯỢNG ĐỘI TUYỂN HỌC SINH GIỎI CẤP TỈNH LỚP 12 Môn thi: Tin học Thời gian làm bài: 180 phút Tổng quan thi: Tên File chương trình File liệu vào File kết Bài CẮT CHỮ VI TÍNH BAI1.* BAI1.INP BAI1.OUT Bài NGƠN NGỮ MUMBA BAI2.* BAI2.INP BAI2.OUT Bài CẶP ĐƠI HỒN HẢO BAI3.* BAI3.INP BAI3.OUT Bài TÍNH TỔNG BAI4.* BAI4.INP BAI4.OUT Bài ĐẾM DÃY CHIA HẾT BAI5.* BAI5.INP BAI5.OUT Dữ liệu vào đắn, không cần phải kiểm tra Các số dòng ghi cách dấu cách Hãy lập trình giải tốn sau: Bài CẮT CHỮ VI TÍNH Trong kỳ thi học sinh giỏi tồn tỉnh năm 2018, ban tổ chức có ý định in vi tính số báo danh thí sinh, sau dán lên bàn vi tính để em biết vị trí ngồi Chữ số vi tính số 0,1,2,3,4,5,6,7,8,9 in miếng đề can dán lên mặt bàn Số báo danh thí sinh kết hợp từ chữ số vi tính đó, ví dụ số báo danh 168 kết hợp từ chữ số 1,6, Số báo danh thí sinh đánh từ đến n, n số thí sinh tham gia Số lượng chữ số vi tính in nhiều, kinh phí lớn, ban tổ chức muốn biết tổng số chữ vi tính in vừa đủ để sử dụng cho n thí sinh Ví dụ: có 13 thí sinh tham dự số báo danh cần đánh 1,2,3,4,5,6,7,8,9,10,11,12,13, cần dùng đến 17 chữ số vi tính Yêu cầu: giúp ban tổ chức tính toán xem cần in chữ số để đánh số báo danh cho n thí sinh Dữ liệu: Vào từ file BAI1.INP chứa số n (1 ≤ n < 109) số thí sinh tham dự kỳ thi Kết quả: Đưa file văn BAI1.OUT gồm số tổng số chữ số vi tính cần in từ tới n Ví dụ: BAI1.INP 13 BAI1.OUT 17 Bài 2: NGƠN NGỮ MUMBA Mỗi từ ngôn ngữ tộc Mumba xâu kí tự hình thành từ hai kí tự a b theo quy tắc sau: Khơng chứa kí tự b liên tiếp Khơng có từ giống đứng liên tiếp từ, aaa từ Mumba (có từ a liên tiếp), aabababa khơng phải từ Mumba (có từ ab liên tiếp), aba từ Mumba Yêu cầu: Cho n xâu kí tự, xâu gồm kí tự chữ tiếng anh (‘a’ ’z’), có độ dài khơng q 25 kí tự Hãy đếm xem n xâu cho có xâu từ ngôn ngữ Mumba Dữ liệu vào: vào từ file văn BAI2.INP gồm: Dòng đầu ghi hai số nguyên dương n (n ≤ 100) N tiếp theo, dịng ghi xâu kí tự Kết quả: ghi file văn BAI2.OUT gồm số số lượng từ Mumba đếm Trang 1/3 BAI2.INP BAI2.OUT aabababa cba abaa Bài 3: CẶP ĐƠI HỒN HẢO Nhân dịp năm Mậu Tuất 2018, đất nước XYZ muốn tuyển chọn cặp đơi hồn hảo để trình diễn khiêu vũ tuyệt đẹp vốn văn hóa lâu đời đất nước Một cặp đơi gọi hồn hảo cặp đơi có nam nữ, chênh lệch chiều cao hai người không vượt K milimet chiều cao người nữ không cao người nam Đất nước tuyển chọn N vũ cơng gồm nam nữ muốn biết có cách để chọn cặp đôi hồn hảo u cầu: Tính xem có cách để chọn cặp hoàn hảo, hai cặp khác có người chọn cặp mà không chọn cặp Dữ liệu vào: vào từ file văn BAI3.INP gồm: Dòng đầu ghi hai số nguyên dương N, K (N ≤ 105; K ≤ 500) Dòng ghi N số chiều cao hi vũ công thứ i Quy ước hi > vũ công nam hi ≤ nữ |hi| ≤ 2000 Kết quả: ghi file văn BAI3.OUT gồm số số lượng cách chọn Ví dụ: BAI3.INP BAI3.OUT 42 1600 -1601 -1602 1603 Rằng buộc: Có 50% số test ứng với 50% số điểm có N ≤ 104 Có 50% số test ứng với 50% số điểm có 104 ≤ N số vũ cơng nam khơng q 104 Bài TÍNH TỔNG Sau buổi học số học, Minh biết cách tính tổng n số tự nhiên liên tiếp Ở nhà, Minh tiếp tục làm tập tính tổng số tự nhiên liên tiếp Minh thắc mắc, liệu với số tự nhiên K phân tích K thành tổng số tự nhiên liên tiếp hay khơng? Ví dụ với K = (có thể phân tích: = 9; = 5+4; = + + 4) có cách phân tích thành tổng số tự nhiên liên tiếp Yêu cầu: Viết chương trình giúp Minh tìm số cách phân tích số nhiên K thành tổng số tự nhiên liên tiếp Dữ liệu vào: Từ file văn BAI4.INP dòng chứa số nguyên dương K (K ≤ 1012) Kết quả: Ghi file BAI4.OUT số số cách phân tích tìm Ví dụ: BAI4.INP BAI4.OUT Ràng buộc: Có 1/3 số test ứng với 1/3 số điểm có K ≤ 107; Trang 2/3 Có 2/3 số test lại ứng với 2/3 số điểm có 107 < K ≤ 1012 Bài ĐẾM DÃY CHIA HẾT Cho dãy số nguyên dương, yêu cầu đếm số lượng dãy liên tiếp có tổng chia hết cho Hai dãy gọi khác hai điểm đầu điểm cuối hai dãy dãy cho khác Ví dụ với Với , dãy: có dãy thỏa mãn dãy: (1, 1, 1, 1) có dãy thỏa mãn Dữ liệu: Vào từ file văn BAI5.INP gồm dòng: Dòng đầu số nguyên dương d N (d ≤ 106, N ≤ 105) Dòng thứ chứa N số nguyên dương biểu diễn dãy số, số dãy không 109 Kết quả: Ghi file văn BAI5.OUT gồm số kết tìm Ví dụ BAI5.INP 46 BAI5.OUT 212141 Rằng buộc: Có 1/3 số test tương ứng với 1/3 số điểm có N ≤ 103 Có 2/3 số test tương ứng với 2/3 số điểm có 103 < N ≤ 105 Cán coi thi khơng giải thích thêm - Hết - Trang 3/3 Bài 1: Viết C++ #include using namespace std; ifstream fi; ofstream fo; long long n,i,cs,m,d; long long a[15],b[15]; int main() { a[1]=9; b[1]=9; for (i=2;i>n; fi.close(); m=n; d=0; while (m>0) { d++; m=m/10; } m=pow(10,d-1); n=n-m+1; cs=n*d; for (i=1;i