có đáp án, đề thi 20112012 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Trang 1Sở GD&ĐT Nghệ An Kì thi chọn học sinh giỏi tỉnh Lớp 12
Năm học 2008 - 2009
Môn thi: tin học 12 THPT- bảng A
Thời gian làm bài: 180 phút (Đề thi gồm 02 trang)
Bài 1: (6,0 điểm) Kho an toàn
Một nhà máy sản xuất vũ khí có nhiều kho hàng và các kho hàng có lính canh gác Các kho hàng và lính canh đợc thể hiện trên ma trận m dòng, n cột Kho hàng đợc gọi là Kho an toàn
nếu xung quanh các kho đó có 8 lính canh Hãy lập trình đa ra vị trí các Kho an toàn.
Dữ liệu: Vào từ tệp văn bản ANTOAN.INP
• Dòng đầu tiên là hai số nguyên m và n (0 < m, n ≤ 100)
• m dòng tiếp theo mỗi dòng có n số 0 hoặc 1 thể hiện kho hàng và lính canh (kho hàng
kí hiệu: 0, lính canh kí hiệu: 1)
• Các số trên cùng một dòng ghi cách nhau một dấu cách
Kết quả: Ghi ra tệp văn bản ANTOAN.OUT
• Nếu có Kho an toàn thì mỗi dòng ghi vị trí của một kho (chỉ số dòng và chỉ số cột ghi
cách nhau một dấu cách)
• Nếu không có Kho an toàn thì ghi 1.
Ví dụ:
4 5
1 1 1 0 1
1 0 1 1 1
1 1 1 0 1
0 0 1 1 1
2 2
3 4
Bài 2: (6,0 điểm) Tổng các số
Cho dãy các số nguyên a1, a2, , aN Hãy tính tổng N phần tử của dãy và tìm phần tử có giá trị lớn nhất của dãy và đa ra vị trí của các phần tử có cùng giá trị lớn nhất
Dữ liệu: Vào từ tệp văn bản SO.INP:
• Chỉ một dòng chứa các số a1, a2, , a… N ghi cách nhau một dấu cách
(0 < N ≤ 10000 ; |ai| ≤ 6.104 với i = 1, 2, , N)
Kết quả: Ghi ra tệp văn bản SO.OUT có cấu trúc nh sau:
• Dòng thứ nhất ghi tổng các số của dãy
• Dòng thứ 2 ghi số lớn nhất
• Dòng thứ 3 ghi các vị trí xuất hiện của số lớn nhất
• Các số trên cùng một dòng ghi cách nhau một dấu cách
Ví dụ:
4 3 2 1 0 8 7 4 2 5 4 6 7 8 2 3 1 67
8
6 14
Đề chính thức
Trang 2Bài 3: (5,0 điểm) Xâu con
Cho trớc hai xâu kí tự S1 và S2 Viết chơng trình tính số lần lặp lại của xâu S1 trong xâu S2
Dữ liệu: Vào từ tệp văn bản XAU.INP gồm:
• Dòng đầu tiên chứa xâu S1
• Dòng thứ hai chứa xâu S2
Kết quả: Ghi ra tệp văn bản XAU.OUT:
• Chỉ một dòng duy nhất ghi số lần lặp lại của xâu S1 trong xâu S2
Ví dụ:
aba bababababa
4
Bài 4: (3,0 điểm) Hoán vị
Cho một mảng A gồm N số là một hoán vị từ 1 đến N Một dãy con của dãy trên là một đoạn liên tục từ u đến v (u ≤ v) Tìm tất cả các dãy con sao cho dãy con đó cũng là một hoán vị của các số liên tiếp bắt đầu từ 1
Dữ liệu: Vào từ tệp văn bản HOANVI.INP:
• Dòng thứ nhất ghi số N (N ≤ 30000)
• Dòng thứ hai ghi N số A[1] đến A[N]
Kết quả: Ghi ra tệp văn bản HOANVI.OUT:
• Dòng thứ nhất ghi K là số dãy con của dãy A là hoán vị;
• Tiếp theo là K dòng, mỗi dòng ghi 3 số u v w với ý nghĩa đoạn từ u đến v là hoán vị của các số từ 1 đến w
Ví dụ:
6
3 5 4 1 2 6
4
4 4 1
4 5 2
1 5 5
1 6 6
Chú ý: Chơng trình giải bài 1, bài 2, bài 3 và bài 4 đợc ghi lên đĩa với các tên tơng ứng là
bai1.pas, bai2.pas, bai3.pas và bai4.pas
-