Đề thi học sinh giỏi tỉnh Ninh Thuận môn Tin học cấp THPT năm học 2011 - 2012
SỞ GIÁO DỤC VÀ ĐÀO TẠO NINH THUẬN (Đề thi chính thức) | KỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNH NĂM HỌC 2011 – 2012 Khóa ngày: 17 / 11 / 2011 Môn thi: TIN HỌC Cấp: THPT Thời gian làm bài: 180 phút (Không kể thời gian phát đề) |
TỔNG QUAN ĐỀ THI
STT | Tên bài | File chương trình | File dữ liệu vào | File kết quả |
1 | RẮN HỔ MANG | snail.* | snail.inp | snail.out |
2 | MA TRẬN VUÔNG ĐỐI XỨNG | matrix.* | matrix.inp | matrix.out |
3 | ĐỔI TIỀN | money.* | money.inp | money.out |
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, Free Pascal hoặc C++.
Bài 1: (6 điểm)
RẮN HỔ MANG
Một con rắn hổ mang sống trên một lưới vuông 8 x 8 có chứa vài vật cản (là các ô màu đen trong hình vẽ dưới đây). Con rắn di chuyển theo đường thẳng (khi còn có thể di chuyển được). Khi nó gặp vật cản hay gặp biên của lưới vuông, nó sẽ quay sang ô bên trái nó. Nếu nó
đối diện với ô đã đi qua, nó dừng hẳn.
Đường đi khi luôn quay qua trái (13 ô)
Con rắn luôn bắt đầu tại ô A1, và luôn bắt đầu việc di chuyển bằng cách đi hướng xuống dưới. Vị trí các vật cản (tức là các ô đen) được cho biết trước.
Yêu cầu :Tìm số ô mà con rắn đi qua cho đến khi không đi được nữa và thỏa con rắn luôn đi về bên trái nó.
Ví dụ: Hình vẽ trên cho hình ảnh một lưới vuông với ba ô đen (tại các vị trí A6, E2, F5). Đường đi con rắn luôn đi về bên trái nó là: đi từ A1 đến A5, quay sang trái đến E5. Từ E5 quay sang trái đến E3, quay trái, đi thẳng và dừng ở B3. Con rắn đã đi qua 13 ô.
Dữ liệu : Vào từ file văn bản snail.inp
- Dòng đầu tiên ghi số nguyên dương n là số các ô đen;
- Trên n dòng tiếp theo, mỗi dòng ghi tọa độ một ô đen dưới dạng Xm , trong đó X (là các chữ cái Latinh viết hoa từ A đến H) chỉ cột và m (1≤m≤ 8) chỉ dòng .
Chú ý không có ô đen tại A1 và A2.
Kết quả: Ghi ra file văn bản snail.out số ô mà con rắn đi qua
Ví dụ:
Bài 2: (7 điểm)
MA TRẬN VUÔNG ĐỐI XỨNG
Cho ma trận vuông A kích thư ớc N x N chứa các số tự nhiên trong khoảng từ 0 đến 255; 4 ≤ N ≤ 50. Hãy tìm một ma trận vuông đối xứng có kích thước lớn nhất B trong A theo nghĩa các phần tử đối xứng qua đường chéo chính của B thì bằng nhau.
Dữ liệu : Vào từ file văn bản matrix.inp
- Dòng đầu ghi giá trị N.
- Tiếp đến là N dòng của ma trận A. Dữ liệu trên cùng một dòng cách nhau ít nhất một khoảng trắng.
Kết quả : Ghi ra file văn bảnmatrix.out
- Gồm một dòng chứa ba giá trị i, j, d cách nhau ít nhất một khoảng trắng, trong đó i, j cho biết vị trí (dòng i, cột j) đầu tiên của ma trận B cần tìm trong ma trận A, còn d cho biết số phần tử trên cùng một dòng của B. Chỉ số dòng và cột được tính từ 1 đến N. (nếu có nhiều ma trận vuông đối xứng cùng kích thước trong A thì chọn một trong số đó).