You are on page 1of 2

SỞ GIÁO DỤC VÀ ĐÀO TẠO KỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNH

SÓC TRĂNG Năm học 2014-2015

Đề chính thức
Môn: Tin học - Lớp 12
(Thời gian làm bài 180 phút, không kể phát đề)
Ngày thi: 20/9/2014
________________
Đề thi này có 02 trang
TỔNG QUAN NGÀY THI THỨ NHẤT

Tên câu File chương trình File dữ liệu vào File kết quả
Câu 1 Tổng số lẻ giảm SumDes.* SumDes.inp SumDes.out
Câu 2 Chuyển kí tự MoveChar.* MoveChar.inp MoveChar.out
Câu 3 Thỏ con hái hoa ThoHaiHoa.* ThoHaiHoa.inp ThoHaiHoa.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 hoặc C++. Lưu ý: Yêu cầu đặt tên file giống bảng trên.
Hãy lập trình giải các câu hỏi sau:
Câu 1: (6,0 điểm) Tổng số lẻ giảm
Cho một dãy gồm n số nguyên không âm a 1, a2, …, an. Hãy tìm tất cả các số lẻ và sắp
xếp theo thứ tự giảm dần của dãy số tìm được, tính tổng của dãy số đó. Nếu không tìm được
kết quả thì ghi số 0 trong tập tin kết quả. Trong các tập tin văn bản, dữ liệu trên cùng một
dòng cách nhau bởi dấu khoảng trắng.
Dữ liệu vào trong tập tin văn bản SumDes.inp:
- Dòng đầu tiên ghi số nguyên n trong đó 1  n 104.
- Trong n dòng sau, dòng thứ i chứa số ai (ai  104).
Kết quả xuất ra tập tin văn bản SumDes.out:
- Dòng đầu tiên chứa dãy số tìm được.
- Dòng thứ hai chứa tổng của dãy số tìm được.
Ví dụ:
SumDes.inp SumDes.out
6 Day so le tim duoc: 65 35 3
2 Tong cac so le tim duoc = 103
35
3
65
8
90
Câu 2: (7,0 điểm) Chuyển kí tự
Trên một bảng chia 2m+1 ô người ta đặt m kí tự ‘A’ liền nhau, mỗi ô 1 kí tự, sau đó
bỏ một ô trống và đặt tiếp m kí tự ‘B’ như hình 1. Hãy tìm cách chuyển với số lần ít nhất để
thu được hình 2, trong đó các kí tự ‘B’ được chuyển qua trái của ô trống, các kí tự ‘A’ được
chuyển qua phải ô trống. Mỗi lần được phép chuyển một kí tự vào ô trống kề kí tự đó hoặc
cách kí tự đó 1 ô.
Hình 1 A A B B

Hình 2 B B A A
Dữ liệu vào trong tập tin văn bản MoveChar.inp: Chứa số duy nhất m, m ≤ 100
Kết quả xuất ra tập tin văn bản MoveChar.out:
- Dòng đầu tiên là cấu hình xuất phát là một xâu gồm m kí tự 'A' tiếp đến là 1 kí tự
'O' biểu thị ô trống, tiếp đến là m kí tự 'B'.
- Tiếp đến là các dòng, mỗi dòng là một cấu hình thu được sau mỗi lần chuyển.
- Dòng cuối cùng chứa số lần đã chuyển.
Ví dụ:
MoveChar.inp MoveChar.out
2 Cau hinh dau tien AAOBB
AOABB
ABAOB
ABABO
ABOBA
OBABA
BOABA
BBAOA
BBOAA
Tong so lan chuyen: 8
Câu 3: (7,0 điểm) Thỏ con hái hoa
Sáng chủ nhật, Thỏ con muốn hái hoa tặng bà. Giả sử trong khu rừng là một bảng
vuông kích thước K*K (với 2 < K < 100), mỗi ô trong bảng ghi một số nguyên tương ứng
với số lượng hoa, trên đường đi Thỏ con đi đến ô nào thì hái số lượng hoa tương ứng của ô
đó. Hãy tìm đường đến nhà bà sao cho Thỏ con hái được nhiều hoa nhất với điều kiện thỏ
con xuất phát từ nhà mình là ô góc trên bên trái (dòng 1, cột 1 của bảng) đi theo hướng cạnh
bên phải hoặc ô bên dưới so với ô nó đang đứng và cuối cùng đến vị trị của nhà bà là ô góc
dưới phải (dòng K cột K của bảng). Trong các tập tin văn bản, dữ liệu trên cùng một dòng
cách nhau bởi dấu khoảng trắng.
Dữ liệu vào từ tập tin văn bản ThoHaiHoa.inp:
- Dòng đầu ghi giá trị số K.
- Dòng thứ i trong K dòng tiếp theo ghi K số trên dòng i của bảng theo thứ tự từ trái
qua phải.
Kết quả xuất ra tập tin văn bản ThoHaiHoa.out: gồm 1 dòng duy nhất chứa 1 số
nguyên là tổng số hoa nhiều nhất mà thỏ con hái được trên đường đi.
Ví dụ:
ThoHaiHoa.inp ThoHaiHoa.out
4 Tong so hoa nhieu nhat ma Tho con hai duoc: 21
2 5 -4 10
-1 5 -10 6
8 10 2 -9
-3 -2 1 -4
--- HẾT ---
Họ tên thí sinh: ................................................................Số báo danh: ................................
Chữ ký của Giám thị 1: ..................................Chữ ký của Giám thị 2:.................................

You might also like