SỞ GIÁO DỤC VÀ ĐÀO TẠO
TỈNH NINH BÌNH
ĐỀ THI CHỌN HỌC SINH GIỎI LỚP 12 THPT
NĂM HỌC 2011 - 2012
Môn: Tin học – Ngày thứ nhất
Thời gian làm bài: 180 phút (không kể thời gian giao đề)
(Đề thi gồm 03 bài trong 02 trang)
ĐỀ THI CHÍNH THỨC
Tổng quan đề thi:
Bài
Chương trình
Input
Output
Thời gian chạy
KNUM.PAS
1 giây/test
KNUM.INP
KNUM.OUT
1- Số bậc k
1 giây/test
2- Palindrome
PALIN.PAS
PALIN.INP
PALIN.OUT
3- Chuỗi ngọc
GEMS.PAS
GEMS.INP
GEMS.OUT
1 giây/test
Lưu ý: - Thí sinh bắt buộc phải đặt tên file chương trình, file dữ liệu như trên.
- Các file dữ liệu trong bài nếu có 2 giá trị trên một dòng, 2 giá trị luôn cách nhau bằng
1 khoảng trắng.
- Mỗi bài có 60% số test kích thước nhỏ.
Bài 1: Số bậc k (7 điểm).
Một số A gọi là có bậc K đối với cơ số B nếu: A = B x + B x + ... + B x trong đó
x i ≠ x j , ∀i ≠ j; 1 ≤ i, j ≤ k . Các số A, B, K, xi là các số nguyên.
Ví dụ :
• 17 có bậc 2 đối với cơ số 2 vì 17 = 24 + 20 .
• 151 có bậc 3 đối với cơ số 5 vì 151 = 53 + 52 + 50.
1
2
k
Yêu cầu: Cho trước đoạn [X, Y]. Hãy xác định xem trong đoạn này có bao nhiêu
số có bậc K đối với cơ số B.
Dữ liệu vào: File văn bản KNUM.INP gồm 1 dòng chứa 4 số X, Y, K, B
(1 ≤ X ≤ Y ≤ 109, 1 ≤ K ≤ 20, 2 ≤ B ≤ 9).
Dữ liệu ra: Ghi ra file KNUM.OUT một số là kết quả tìm được.
Ví dụ:
KNUM.INP
KNUM.OUT
Giả
i thí
ch
15 20 2 2
3
3 số
17 =
18 =
20 =
tìm
24 +
24 +
24 +
được:
20
21
22
Bài 2: Chuỗi ngọc (7 điểm)
Một người thợ kim hoàn chuyên làm các chuỗi ngọc. Mỗi chuỗi ngọc gồm các viên
ngọc được đánh chỉ số lần lượt từ 1 đến n. Trong mỗi chuỗi ngọc, các viên ngọc
tuân theo nguyên tắc:
- Giá trị của các viên ngọc tăng dần theo chỉ số.
- Giá trị của viên ngọc thứ i là một số nguyên dương không vượt quá 2i.
Như vậy mỗi chuỗi ngọc tương ứng với một dãy giá trị: (a 1, a2, ... an) trong đó
ai < ai+1 với 0 < i < n.
Người thợ kim hoàn quyết định làm ra các chuỗi ngọc khác nhau theo thứ tự từ
điển của dãy giá trị với chuỗi đầu tiên là (1, 2, 3,..., n). Ở thời điểm hiện tại, anh ta
đang làm đến chuỗi ngọc thứ k.
1
Yêu cầu: Hãy xác định chuỗi ngọc hiện tại mà người thợ kim hoàn đang làm.
Dữ liệu vào:
• Dòng 1: Chứa số nguyên dương n (0 < n ≤ 250).
• Dòng 2: Chứa số nguyên dương k, lưu ý rằng k có thể là một số rất lớn.
Dữ liệu vào luôn đảm bảo bài toán có nghiệm.
Dữ liệu ra:
Gồm 1 dòng chứa n số nguyên là dãy giá trị tương ứng với chuỗi ngọc.
Ví dụ:
GEMS.INP GEMS.OUT Giải thích
2
2 3
Các chuỗi theo thứ
4
tự từ điển là:
1 2
1 3
1 4
2 3
...
Bài 3: Palindrome (6 điểm).
Xâu palindrome là một xâu đối xứng, tức là một xâu mà đọc từ trái sang phải cũng
giống như đọc từ phải sang trái. Một xâu ký tự bất kỳ có thể biến đổi thành xâu
palindrome bằng cách chèn thêm các ký tự vào xâu (bao gồm cả chèn vào vị trí đầu
và cuối xâu). Ví dụ, bằng cách chèn hai ký tự vào xâu “Ab3bd” ta nhận được một
palindrome (chẳng hạn “dAb3bAd” hoặc “Adb3bdA”). Tuy nhiên, nếu chèn ít hơn
2 ký tự vào xâu trên thì không thể thu được xâu palindrome.
Yêu cầu: Xác định số lượng ký tự tối thiểu cần chèn vào xâu ban đầu để thu được
một xâu palindrome.
Dữ liệu vào: Tên file dữ liệu vào là PALIN.INP. Dòng thứ nhất gồm một số
nguyên là độ dài N của xâu, 3 ≤ N ≤ 5000. Dòng thứ hai gồm một xâu có độ dài N.
Xâu gồm các ký tự là các chữ cái hoa A..Z, các chữ cái thường a..z và các chữ số
thập phân 0..9, các chữ cái hoa và thường xem như là khác nhau.
Dữ liệu ra: Tên tệp dữ liệu ra là PALIN.OUT chứa duy nhất một số nguyên là kết
quả bài toán.
Ví dụ:
PALIN.INP
5
Ab3bd
PALIN.OUT
2
---------------------Hết--------------------Hä vµ tªn thÝ sinh...................................... Sè b¸o danh:.........................................................
Ch÷ kÝ cña gi¸m thÞ 1................................ Ch÷ kÝ cña gi¸m thÞ 2............................................
2
... nhiờn, nu chốn ớt hn ký t vo xõu trờn thỡ khụng th thu c xõu palindrome Yờu cu: Xỏc nh s lng ký t ti thiu cn chốn vo xõu ban u thu c mt xõu palindrome D liu vo: Tờn file d liu vo l PALIN.INP Dũng