1
SỞ GD& ĐT NGHỆAN
KỲ THI CHỌN HỌCSINHGIỎITỈNH LỚP 12
NĂM HỌC 2012 - 2013
(Đề thi gồm 3 trang)
Môn thi: TIN HỌC- THPT BẢNGA
Thời gian: 150 phút (không kể thời gian giao đề)
Tổng quan bài thi
TT Tên bài Tên file
chương trình
Tên file dữ
liệu vào
Tên file dữ
liệu ra
Điểm Thời gian
chạy
Bài 1 Trò chơi Bai1.pas Bai1.inp Bai1.out 6 1 giây
Bài 2 Xâu chung Bai2.pas Bai2.inp Bai2.out 6 1 giây
Bài 3 Dạng thập phân Bai3.pas Bai3.inp Bai3.out 5 1 giây
Bài 4 Lợp mái Bai4.pas Bai4.inp Bai4.out 3 1 giây
Bài 1. Trò chơi
Nhân dịp lễ giáng sinh, công viên trung tâm tổ chức trò chơi "con số may mắn". Mỗi em
nhỏ đến tham dự sẽ được phát một số nguyên dương. Công viên có một thiết bị quay số, mỗi lần
quay sẽ tạo ngẫu nhiên một số nguyên dương có giá trị tuyệt đối không vượt quá 10
4
. Người dẫn
chương trình sẽ thực hiện N lần quay số. Số nào xuất hiện nhiều nhất trong N lần quay được gọi là
con số may mắn và em nhỏ nào có con số may mắn thì sẽ được phần thưởng.
Yêu cầu: Cho N con số xuất hiện trong N lần quay. Bạn hãy giúp người dẫn chương trình xác định
số lần xuất hiện của con số may mắn.
Dữ liệu vào từ file văn bản Bai1.inp:
Dòng đầu là số N (1 N 10
4
).
Dòng tiếp theo có N số là các số xuất hiện trong N lần quay.
Kết quả ghi ra file văn bản Bai1.out: Là số lần xuất hiện của con số may mắn.
Ví dụ:
Bai1.inp Bai1.out Bai1.inp Bai1.out
5
4 3 4 4 15
3 7
12 5 10 5 8 10 9
2
Bài 2. Xâu chung
Xâu S được gọi là xâu con chung của xâu S1 và xâu S2 nếu xâu S là một dãy các ký tự liên
tiếp trong S1 và cũng là dãy các ký tự liên tiếp trong S2.
Yêu cầu: Cho hai xâu kí tự S1 và S2 (có không quá 255 ký tự). Hãy tìm một xâu con chung S dài
nhất của hai xâu S1 và S2. Ví dụ: S1 = ’Ky thihọcsinhgioiTinhmônTin hoc’, S2 = ’hoc sinh
gioi monTin hoc’ thì S = ‘hoc sinhgioi '.
Dữ liệu vào từ file văn bản Bai2.inp:
Dòng đầu tiên ghi xâu S1;
Dòng thứ hai ghi xâu S2.
Kết quả ghi ra file văn bản Bai2.out: Chỉ một số duy nhất là độ dài của xâu con chung dài nhất
S. (Nếu hai xâu S1, S2 không có kí tự nào chung thì ghi số 0).
Đ
ề thi chính thức
2
Ví dụ:
Bai2.inp Bai2.inp
Ky thihocsinhgioiTinhmontinhoc
hoc sinhgioimonTinhoc
14
Bài 3 . Dạng thập phân
Ngày nghỉ cuối tuần Nam rất muốn đi chơi công viên. Mẹ ra diều kiện nếu Nam biết cách
chuyển một phân số sang dạng thập phân (hữu hạn hoặc vô hạn tuần hoàn) thì sẽ được đi chơi. Bạn
hãy giúp bé Nam nhé.
Yêu cầu: Cho 2 số nguyên dương P và Q (P, Q 10
5
). Hãy đưa ra dạng thập phân (hữu hạn hoặc
vô hạn tuần hoàn) của phân số
Q
P
.
Dữ liệu vào từ file văn bản Bai3.inp: Chỉ một dòng duy nhất chứa 2 số nguyên dương P và Q.
Kết quả ghi ra file văn bản Bai3.out: Là dạng thập phân của phân số
Q
P
theo quy cách như các
ví dụ dưới đây:
Bai3.inp Bai3.out
21345 66
323.4(09)
32567 125 260.536
367 12 30.58(3)
67 737 0.(09)
20 3
6.(6)
200 5 40
Bài4 : Lợp mái
Cho M (1 M 10) viên ngói vuông 5 , được lợp trên một mái nhà vuông nxn (5 N
15), lần lượt mỗi lần 1 viên, các cạnh của chúng song song với các cạnh của bảng. Viên ngói đặt
sau có thể che một phần hoặc che cả viên ngói đặt trước đó. Sau khi viên ngói cuối cùng được đặt
lên mái ta thu được một Mai_ngoi. Ví dụ, Mai_ngoi 1 biểu thị rằng viên ngói A được đặt sau viên
ngói B trên một mái vuông 11 x 11.
Bang_ngoi 1 Bang_ngoi 2 Bang_ngoi 3 Bang_ngoi 4
AAAAA
BBBBB BBBBB AAAAA
BBBBB BBBBB AAAA AAAAA
BBBBB BBBBB BAAAAB AAAAADDD
BBAAAAA BBAAAAA BAAAAB BBBBBAAADDD
BBAAAAA BBAAAAACC BAAAAB BBBBB.DDDDD
AAAAA DDDDAAAAACC .CCCAAAAB BBBCCCDDDDD
AAAAA DDDDAAAAACC .C.CCCCCB BBBCCCDDDDD
AAAAA DDDDAAAAACC .CCCCCCC BBBCCCCC
DDDDD.CCCCC CCCCC
DDDDD CCCCC
3
Các viên ngói được đặt tên là chữ cái liên tiếp bắt đầu từ A (theo bảng chữ cái tiếng Anh).
Ví dụ, nếu có 5 viên ngói thì chúng sẽ được gọi là A, B, C, D và E. Trong một Mai_ngoi, mỗi vị trí
trên mái được ký hiệu bởi một dấu chấm "." nếu vị trí đó không bị phủ bởi một chữ cái là tên của
viên ngói trên cùng tại vị trí đó.
Một Mai_ngoi là hợp lệ nếu có thể xác định được một tập các viên ngói mà một trong
chúng có thể là viên đầu tiên đã được đặt lên mái. Ví dụ ở Mai_ngoi2, có thể viên ngói B hoặc C
hoặc D là ngói đầu tiên đã được đặt lên mái, nhưng A không thể là viên ngói đầu tiên đã được đặt
lên mái.
Một Mai_ngoi là không hợp lệ nếu xảy ra một trong hai điều sau:
- Có viên ngói không phải là một hình vuông 5 x 5. Ví dụ Mai_ngoi 3 là không hợp lệ vì
có A là viên x 5, hay chiều rộng của viên B vượt quá 5, hay viên C có một lỗ.
- Các viên ngói không được đặt theo lần lượt viên này sau viên kia. Ví dụ trong Mai_ngoi 4
được đặt một lúc viên ngói lồng vào nhau. Do đó, Mai_ngoi4 là không hợp lệ.
Yêu cầu: Cho một Mai_ngoi, nếu nó không hợp lệ thì đưa ra ‘NO’. Nếu hợp lệ thì đưa ra các chữ
cái theo thứ tự tăng dần của các viên ngói mà mỗi một trong số đó có thể là viên ngói đầu tiên.
Dữ liệu vào từ file văn bản Bai4.inp:
Dòng đầu tiên chứa số nguyên M, số lượng viên ngói;
Dòng tiếp theo chứa số nguyên N là kích thước của bảng vuông N xN
N dòng tiếp theo miêu tả Mai_ngoi.
Kết quả ghi ra file văn bản Bai4.out:
Là chuỗi "NO" khi Mai_ngoi, hoặc là một chuỗi các chữ cái (theo thứ tự tăng dần) đại
diện cho các viên ngói có thể là viên đầu tiên. Không có dấu cách giữa các chữ cái.
Ví dụ:
Bai4.inp Bai4.out
4
10
BBBBB
BBBBB
BBBBB
BBAAAAA.
.CCCCCAAA.
.CCCCCAAA.
.CCCCCAAA.
.CCCCCAAA.
.CCCCC
BD
Hết
Lưu ý:
- Các số trên cùng một dòng ghi cách nhau một dấu cách.
- Ghi các bài với tên Bai1.pas, Bai2.pas, Bai3.pas, Bai4.pas.
- Giám thị không giải thích gì thêm.
. 3 Bang_ngoi 4
AAAAA
BBBBB BBBBB AAAAA
BBBBB BBBBB AAAA AAAAA
BBBBB BBBBB BAAAAB AAAAADDD
BBAAAAA BBAAAAA BAAAAB BBBBBAAADDD
BBAAAAA BBAAAAACC. BBAAAAA BBAAAAACC BAAAAB BBBBB.DDDDD
AAAAA DDDDAAAAACC .CCCAAAAB BBBCCCDDDDD
AAAAA DDDDAAAAACC .C.CCCCCB BBBCCCDDDDD
AAAAA DDDDAAAAACC .CCCCCCC BBBCCCCC