SỞ GIÁO DỤC VÀ ĐÀO TẠO Trang 1/2 SỞ GIÁO DỤC VÀ ĐÀO TẠO LÂM ĐỒNG ĐỀ CHÍNH THỨC (Đề thi gồm có 2 trang) KÌ THI CHỌN HỌC SINH GIỎI C P T NH LỚP 12 NĂM HỌC 2012 2013 Môn TIN HỌC THPT Thời gian 180 phút ([.]
Trang 1Trang 1/2
SỞ GIÁO DỤC VÀ ĐÀO TẠO
LÂM ĐỒNG
ĐỀ CHÍNH THỨC
(Đề thi gồm có 2 trang)
KÌ THI CHỌN HỌC SINH GIỎI C P T NH LỚP 12
NĂM HỌC 2012-2013 Môn: TIN HỌC - THPT
Thời gian: 180 phút (không kể thời gian h t đề)
Ngày thi: 16/10/2012 TỔNG QUAN BÀI THI
trình
File dữ liệu vào File kết quả
Ngôn ngữ lập trình được sử dụng là Pascal hoặc FreePascal
Hãy lập trình để giải các bài toán sau:
Bài 1 điểm Cứu hỏa
Công ty X đang bốc cháy Bạn đang ngồi tại phòng quan sát và hướng dẫn cho nhân viên ở bên trong công ty ra ngoài với đường đi là ngắn nhất Công ty X gồm có NxM phòng, trong đó phòng có thể đi được đánh số 0, phòng không đi được được đánh số 1, từ một phòng được đánh số 0 có thể đi qua phòng có chung vách với phòng đó Độ dài đường
đi được xác định bởi số phòng mà nhân viên có mặt
Nhân viên của công ty đang đứng tại phòng bất kỳ được đánh số 0 Hãy tìm đường đi ngắn nhất để nhân viên ra ngoài, tức là đến phòng có giá trị 0 ở biên (phòng có ít nhất 1 vách là mép ngoài của công ty)
Dữ liệu vào: cho tập tin CUUHOA.INP gồm:
Dòng đầu chứa hai số nguyên N, M cho biết số phòng của công ty X (0<N<150, 0<M<150)
Dòng hai chứa hai giá trị x0 , y0 cho biết vị trí của phòng mà nhân viên đang đứng trong công ty
N dòng tiếp theo mỗi dòng ghi m số 0 hoặc 1 là giá trị của các phòng trong công ty, các số trong cùng phòng cách nhau một khoảng trắng
Kết quả: xuất ra tập tin CUUHOA.OUT gồm một dòng ghi độ dài đường đi ngắn nhất
Trong trường hợp nhân viên đang ở phòng bị bốc cháy hoặc không có đường đi ra ngoài thì ghi 0
Ví dụ:
10 12
6 8
1 1 1 1 1 0 1 0 1 0 1 1
1 1 0 0 0 1 0 1 1 0 1 0
1 1 1 0 1 1 0 1 1 0 1 1
1 0 0 1 1 0 0 0 0 1 0 0
1 0 1 1 1 1 1 1 0 1 1 0
1 0 0 1 0 1 1 0 0 1 1 1
0 1 1 0 0 1 0 1 0 0 1 1
0 1 1 0 1 0 0 0 0 1 0 0
0 0 0 0 0 0 1 0 0 0 1 1
1 0 0 0 0 1 1 1 1 0 1 1
7
Trang 2Trang 2/2
Bài 2: điểm ĐIỀN SỐ VÀO MA TRẬN
Hãy lập thuật toán điền các phần tử của ma trận NxN (2 ≤ N ≤ 200) các số -1, 0, 1 sao cho
tổng các số của mọi hình vuông con 2x2 đều bằng 0 và tổng các số của ma trận trên là lớn
nhất Ma trận có các phần tử bằng 0 là ma trận cơ sở và không được gọi là một cấu hình
Dữ liệu vào: tập tin MATRAN.INP chứa số N là cấp của ma trận
Kết quả: xuất ra tập tin MATRAN.OUT gồm:
Ma trận tìm được cấp N
Hàng tiếp theo là tổng các số của ma trận tìm được
Ví dụ:
5 1 0 1 0 1
0 -1 0 -1 0
1 0 1 0 1
0 -1 0 -1 0
1 0 1 0 1
5
0 -1
0
Bài 3: điểm TRÒ CHƠI BỐC BÀI
Tí và Tèo chơi bốc bài như sau: trên bàn có N lá bài (N ≤ 103) xếp thành một hàng, trên mỗi
lá bài có ghi số nguyên dương Qi (1 ≤ i ≤ N), các số là phân biệt Tí và Tèo luân phiên nhau
chơi, mỗi người tới lượt mình sẽ chọn một trong hai quân bài ngoài cùng (phải nhất hoặc
trái nhất) và bốc quân bài đó lên Trò chơi kết thúc khi không còn quân bài nào trên bàn,
người thắng cuộc là người có tổng các số ghi trên các quân bài của mình lớn hơn
Yêu cầu: Với thông tin về các quân bài ban đầu, Tí là người đi đầu, bạn hãy cho biết Tí có
khả năng chắc thắng hay không, nếu có hãy chỉ ra bước đi đầu tiên của Tí
Dữ liệu vào: Tập tin BOCBAI.INP chứa số N là số quân bài trên bàn
Dòng tiếp theo có N số ghi số trên quân bài
Kết quả: xuất ra tập tin BOCBAI.OUT gồm:
Nếu chắc thắng, dòng đầu tiên ghi số 1, nếu không chắc thắng dòng đầu tiên ghi
số 0
Dòng thứ hai ghi vị trí bốc đầu tiên của quân bài (1 hoặc N)
Ví dụ:
8
3 4 6 12 5 7 2 9
1
8 Hoặc
7
3 4 6 12 5 7 8
0
-Hết -
Họ và tên thí sinh: Giám thị 1: Ký tên:
Số báo danh: Giám thị 2: Ký tên: