SỞ GIÁO DỤC VÀ ĐÀO TẠO

ĐỒNG THÁP

KỲ THI CHỌN HỌC SINH GIỎI LỚP 12 THPT CẤP TỈNH
NĂM HỌC 2008 - 2009

--------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------------------

Đề chính thức

ĐỀ THI MÔN: TIN HỌC 12
Thời gian làm bài: 180 phút (không kể thời gian phát đề)
Ngày thi: 16 tháng 11 năm 2008
(Đề thi gồm có: 2 (hai) trang)

Bài 1: (8 điểm) Cho số nguyên dương N (102 ≤ N ≤ 109). Tìm tất cả các số tự nhiên
X sao cho (X ≤ N) và thỏa các điều kiện sau đây:
* X là số nguyên tố (số tự nhiên khác 1 chỉ gồm các ước là 1 và chính nó).
* X là số Fibonacci (được định nghĩa như sau:
F(1) = 1; F(2) = 1; F(n) = F(n-1)+F(n-2) với mọi n ≥ 3).
Dữ liệu nhập: Nhập số N từ bàn phím. Kiểm tra giá trị nhập.
Dữ liệu xuất: Xuất ra màn hình theo từng dòng, mỗi dòng là 1 giá trị có thể có
của X.
Ví dụ:
BL1.INP

BL1.OUT

1000

2
3
5
13
89
233

Lưu bài làm với tên BL1.PAS.
Bài 2. (7 điểm) Chuỗi đối xứng :
Một chuỗi gọi là chuỗi đối xứng nếu nó có từ một ký tự trở lên và các ký tự
của chuỗi theo thứ tự từ trái sang phải hay từ phải sang trái đều giống nhau.
Ví dụ : ‘A’, ‘TAT’, ‘CHAOOAHC’ là chuỗi đối xứng
‘ABCDECD’ là chuỗi không đối xứng
Viết chương trình nhập vào chuỗi ký tự cho trước S, có chiều dài n ( 1<= n
<=20000). Chuỗi con của S là chuỗi có một hay nhiều ký tự liên tiếp nhau trong S có
độ dài nhỏ hơn hoặc bằng n. Cho biết chiều dài chuỗi con đối xứng dài nhất của
chuỗi S.
Yêu cầu:
Dữ liệu nhập: được cho trong tập tin BL2.INP gồm 2 dòng
- Dòng đầu ghi giá trị n.
- Dòng sau gồm n ký tự liên tiếp gồm các chữ cái in hoa thuộc các chữ
cái từ A đến Z.

1/2

Dữ liệu xuất: Ghi vào tập tin BL2.OUT gồm một số duy nhất là độ dài của chuỗi
con đối xứng dài nhất của S.
Ví dụ:
BL2.INP
BL2.OUT
12
7
HAIBEGIGEBOH
Lưu bài làm với tên BL2.PAS.
Bài 3: (5 điểm) Cho lưới M × N (0 < M<= N <= 20) ô vuông, trong mỗi ô cho trước
một số tự nhiên. Hãy tìm cách chia lưới trên làm hai phần (chia theo cạnh lưới) sao
cho trị tuyệt đối hiệu số của tổng các số trong mỗi phần có giá trị nhỏ nhất.
Dữ liệu nhập: File BL3.INP, được cho như sau:
* Dòng đầu tiên gồm 2 số M, N là kích thước của ô lưới.
* M dòng tiếp theo, mỗi dòng gồm N số cách nhau bởi dấu cách, ô trống được cho
bằng giá trị 0.
Dữ liệu xuất File BL3.OUT : là một ma trận kích thước M × N gồm các số 0 và 1
(số 0 kí hiệu cho các ô tương ứng với phần thứ nhất, và số 1 kí hiệu cho các ô tương
ứng với phần thứ hai). Bài toán có nhiều lời giải thì chỉ cần in ra một cách.
Ví dụ: Dữ liệu vào và ra sau đây tương ứng với hình 1 dưới đây: (Minh họa hai
cách chia cho cùng một bộ dữ liệu nhập).
Hình 1
BL3.INP
BL3.OUT (1)
BL3.OUT (2)
7
1
1
2
9

3 5
2 5
2 1
0

5
0
0
0
0
0

6
0 0 0 7 0
1 3 5 0 0
12 2 5 0 0
9 2 10 0 0
0 0 0 0 0

0
0
0
0
0

Lưu bài làm với tên BL3.PAS.
-HẾT-

2/2

1
1
0
0
0

1
0
0
0
0

1
1
1
1
0

1
1
1
1
0

1
1
1
1
1

1
1
1
0
0

1
1
1
0
0

1
1
0
0
0

1
1
0
0
0

1
1
0
0
0

1
1
0
0
0

Sign up to vote on this title
UsefulNot useful