Tải bản đầy đủ (.pdf) (7 trang)

đề thi học sinh giỏi tin học

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (451.9 KB, 7 trang )

SỞ GIÁO DỤC VÀ ĐÀO TẠO
BẾN TRE
ĐỀ THI CHỌN HOC SINH GIỎI LỚP 12
TRUNG HỌC PHỔ THÔNG CẤP TỈNH NĂM HỌC 2009-2010
Môn: TIN HỌC.
Thời gian: 180 phút (không kể phát đề)

Bài 1 (10 điểm): Sắp xếp chèn trực tiếp:
Ý tưởng của thuật toán sắp xếp chèn trực tiếp có thể mô tả ngắn gọn như sau:
Cho dãy ban đầu a
1
, a
2
, ,a
n
. Ta có thể xem như đã có đoạn gồm một phần tử
a
1
đã được sắp, sau đó thêm a
2
vào đoạn a
1
để có đoạn a
1
, a
2
được sắp; tiếp tục
thêm a
3
vào đoạn a
1


, a
2
để có đoạn a
1
, a
2
, a
3
được sắp; tiếp tục cho đến khi thêm
xong a
N
vào đoạn a1 a2 a
N-1
sẽ có dãy a
1
a
2
a
N
được sắp.
* Yêu cầu:
1. Hãy cài đặt thuật toán trên bằng chương trình.
Dữ liệu vào: File BAI1.INP. Hàng đầu tiên là n - số phần tử của dãy
(0<n<10.000). Các hàng kế tiếp là các số nguyên biểu diễn giá trị của các phần tử
trong dãy. Mỗi số cách nhau 1 khảng trắng hoặc xuống dòng.
Dữ liệu ra: File BAI1.OUT; có cấu trúc tương tự File dữ liệu vào nhưng các
phần tử đã được sắp xếp tăng dần bằng thuật toán sắp xếp chèn trực tiếp như mô tả
trên.
Hiển thị trên màn hình thời gian trước và sau khi sắp xếp xong dãy đã cho.
2. Cải tiến thuật toán:

Anh (Chị) hãy tìm cách cải tiến thuật toán trên sao cho hiệu quả hơn. Yêu cầu:
công đoạn xử lý nào của chương trình có thể cải tiến để thuật toán hiệu quả hơn thì
viết thành 02 chương trình con, một chương trình con lúc chưa cải tiến, một chương
trình con sau khi cải tiến. Cần ghi chú ngắn gọn ý tưởng thuật toán cho chương
trình con đã cải tiến.
Hãy thử chương trình con sau khi cải tiến và hiển thị thời gian trước và sau khi
thực hiện xong quá trình sắp xếp.
File dữ liệu vào cho ở câu 1. Kết quả ghi trong File BAI1B.OUT, có cấu trúc
tương tự BAI1.OUT.
Lưu ý: cải tiến thuật toán không phải là thay thuật toán sắp xếp chèn trực tiếp
bằng một thuật toán sắp xếp khác.
Bài 2 (10 điểm): Chuỗi gần đúng.
Hai chuỗi gọi là gần đúng khi các ký tự của chuỗi gốc xuất hiện trong chuỗi kia
theo đúng thứ tự như chuỗi gốc. Số kí tự sai khác được tính thành tỉ lệ phần trăm so
với chuỗi có độ dài lớn hơn. Nếu tỉ lệ % sai khác không lớn hơn m% thì ta gọi đây
là 2 chuỗi gần đúng.
Ví dụ: xem hình sau:

Trong hình trên, độ sai lệch giữa mispeld và misspelled là 3 kí tự; tỉ lệ là 3/10
tức 30%.
* Yêu cầu: Viết chương trình tìm các chuỗi gần đúng so với chuỗi gốc.
Fie dữ liệu vào cho trong File BAI2.INP. Hàng đầu tiên là m (số nguyên giá trị
từ 1 đến 50). Hàng kế tiếp là chuỗi gốc; các hàng còn lại là các chuỗi cần xác định
có gần đúng với chuỗi gốc đã cho hay không. Chuỗi chỉ gồm các kí tự chuẩn trong
bảng mã ASCII và không có khoảng trắng trong chuỗi; chiều dài chuỗi không quá
254 kí tự.
Kết quả ghi trong File dữ liệu ra BAI2.OUT; gồm chuỗi gốc và các chuỗi gần
đúng với chuỗi gốc (không phân biệt chữ hoa/thường). Mỗi chuỗi được ghi trên 1
hàng.
Ví dụ:

BAI2.INP BAI2.OUT
30 mispeld
mispeld misspelled
misplace
misspelled
mislead
Hết
SỞ GIÁO DỤC VÀ ĐÀO TẠOKỲ THI CHỌN HSG LỚP 12 CẤP TỈNH
ĐỒNG NAI NĂM HỌC 2008 - 2009
ĐỀ CHÍNH THỨC Môn thi : TIN HỌC
Thời gian : 180 phút (Không kể thời gian giao đề )
Ngày thi : 21 tháng 11 năm 2008

(Đề thi gồm 02 trang )
Tên bài File chương trình File dữ liệu vào File kết quả
Bài 1 Hội chợ chăn nuôi HOICHO.PAS HOICHO.INP HOICHO.OUT
Bài 2 Giao thông GITH.PAS GITH.INP GITH.OUT
Bài 3 Dãy số ổn định ONDINH.PAS ONDINH.INP ONDINH.OUT
Bài 1: Hội chợ chăn nuôi (7 điểm)
Để chọn ra một trại chăn nuôi heo giỏi, ban tổ chức hội chợ heo giống kiểm tra trọng lượng của heo
tại mỗi trang trại như sau : lấy ngẫu nhiên một số con heo đưa vào cân và chọn lấy ra 1 con có trọng lượng
cao nhất, sau đó tiếp tụ
c đưa vào một số con khác cân và nhập vào số trước rồi chọn lấy ra 1 con có trọng
lượng cao nhất. Thực hiện một số lần như trên. Trọng lượng nhỏ nhất của heo trong số các con được lấy ra
chính là kết quả kiểm tra trọng lượng của trại đó.
Yêu cầu : Hãy thực hiện xác định kết quả kiểm tra trọng lượng.
Dữ liệu vào từ file văn b
ản HOICHO.INP
- Dòng đầu là số nguyên dương n (1<= n <= 5000000)
- N dòng tiếp theo, mỗi dòng là :

Một số nguyên dương a trọng lượng của heo cân được (0< a <= 1000 )
hoặc -1 (yêu cầu chọn lấy ra trọng lượng cao nhất trong những trọng lượng đã cân) .
Kết quả ghi vào file văn bản HOICHO.OUT
Trọng lượng tìm được theo yêu cầu.
Ví dụ:
HOICHO.INP HOICHO.OUT
12
250
195
312
-1
167
171
-1
260
203
305
-1
291
250
Bài 2: Giao thông (6 điểm)
Hệ thống giao thông công cộng trong thành phố được vận hành bởi k tuyến xe bus di chuyển qua n
trạm (các trạm đánh số từ 1 đến n). Mỗi tuyến xe bus đi qua một số trạm. Tuyến xe bus thứ i đi lần lượt các
trạm a
i1
, a
i2
, a
im
và đi ngược lại, giá vé đi giữa hai trạm liên tiếp bất kỳ trên cùng một tuyến thứ i là không

đổi c
i
. Khách đi từ trạm A sang trạm B có thể phải sang nhiều xe do hai trạm không trên cùng một tuyến.
Yêu cầu : Hãy tìm lộ trình cho khách di chuyển bằng xe bus từ trạm A sang trạm B sao cho chi phí phải trả
là thấp nhất.
Dữ liệu vào từ file văn bản GITH.INP
- Dòng đầu là 4 số n k A B. (2<= n <= 500 và 1<= k <= 50)
- Dòng thứ hai là k số c
1
c
2
c
k
(0< c
i
< 100)
- K dòng tiếp theo, dòng thứ i có dạng
m
i
a
i1
a
i2
a
im

m
i
là số lượng các trạm mà tuyến xe thứ i phải qua, m
i

số sau là số hiệu các trạm theo thứ tự mà
tuyến xe bus thứ i phải đi qua.
Kết quả ghi vào file GITH.OUT
Chi phí lộ trình đi từ A sang B.
Ví dụ :
GITH.INP GITH.OUT
5 3 2 3
5 3 2
4 1 2 5 3
4 2 4 5 3
3 2 1 5
7
Tuyến 1
Tuyến 2
Tuyến 3
Bài 3: Dãy số ổn định (7 điểm)
Trong thống kê, một dãy số gọi là ổn định khi nó là một tập hợp của nhiều số nhất và tuân theo một
quy luật nào đó. Trong thời điểm khủng hoảng kinh tế thế giới hiện nay, giá vàng trên thế giới biến động liên
tục theo từng ngày, người ta ghi nhận lại giá vàng trong n ngày liên tiếp. Ví dụ, với n=10 số liệu thu thập
được như sau : 9 6 4 5 8 3 4 6 1 6
Trong dãy này, chúng ta chọn ra được một dãy con dài nhất có qui luật đi xuống rồi lên lại là :
9 6 4 3 4 6 6
Dãy này gọi là dãy số ổn định. Có thể có nhiều dãy con cùng thỏa qui luật.
Yêu cầu : Hãy xác định điểm thấp nhất trong dãy số ổn định đi xuống rồi lên lại của giá vàng trong n ngày
Dữ liệu vào từ file ONDINH.INP
- Dòng đầu là số n (1<= n <=50000)
- N dòng tiếp theo, mỗi dòng là một số nguyên a
i
(a
i

<= 100000, i: 1 n) giá vàng của ngày thứ i
Kết quả ghi vào file ONDINH.OUT
- Dòng đầu là số thứ tự của ngày có giá vàng thấp nhất tìm được
- Dòng thứ hai là giá vàng tại ngày đó.
Ví dụ :
ONDINH.INP ONDINH.OUT
10
9
6
4
5
8
3
4
6
1
6
6
3
o0o
3
1 2
4
5
Trang 1/2
Sở Giáo dục và đào tạo
thanh hoá
CHNH THC
Kỳ thi học sinh giỏi tỉnh
Nm hc: 2008-2009

Mụn thi: Tin hc
Lp 12 THPT
Ngy thi: 28/03/2009
Thi gian: 180 phỳt (khụng k thi gian giao )
ny cú 05 cõu, gm 02 trang.
Tng quan bi thi:
Tờn bi
File chng trỡnh
File d liu vo
File kt qu
Bi 1
S nguyờn t
BAI1.PAS
BAI1.INP
BAI1.OUT
Bi 2
Trung bỡnh cng
BAI2.PAS
BAI2.INP
BAI2.OUT
Bi 3
Xõu i xng
BAI3.PAS
BAI3.INP
BAI3.OUT
Bi 4
Biu thc Zero
BAI4.PAS
BAI4.INP
BAI4.OUT

Bi 5
Min 0
BAI5.PAS
BAI5.INP
BAI5.OUT
Gii hn thi gian cho mi test l 3 giõy.
D liu vo l ỳng n, khụng cn phi kim tra.
Hóy lp trỡnh gii cỏc bi toỏn sau:
Bi 1: (5 im) S nguyờn t
Cho dóy s gm cú N s nguyờn dng a
1
, a
2
, , a
N
v mt s nguyờn dng K.
Yờu cu: Hóy cho bit s lng cỏc phn t cú giỏ tr nh hn K l s nguyờn t ca dóy s trờn.
D liu: Vo t File vn bn BAI1.INP gm:
Dũng u tiờn l hai s N v K.
Dũng tip theo ln lt l N s nguyờn ca dóy s.
Kt qu: Ghi ra File BAI1.OUT gm duy nht s M l s lng cỏc phn t ca dóy s tho
món yờu cu bi.
Gii hn: 0 < N < 50000; 0 < K, a
i
< 5000 i = 1 N;
Vớ d:
BAI1.INP
BAI1.OUT
7 8
1 2 3 8 7 6 11

3
Bi 2: (5 im) Trung bỡnh cng
Cho dóy gm n s nguyờn a
1
, a
2
, , a
n
v s nguyờn K.
Yờu cu: Cho bit trong dóy s ó cho cú tn ti hay khụng mt cp s m trung bỡnh cng ca
chỳng l K.
D liu: Vo t file vn bn BAI2.INP:
Dũng u tiờn ghi hai s n, K.
Dũng tip theo ln lt ghi n s a
1
, a
2
, , a
n
.
Cỏc s trờn cựng mt dũng c ghi cỏch nhau ớt nht mt du cỏch trng.
Kt qu: Ghi ra file vn bn BAI2.OUT:
S 1 nu tn ti mt cp s tho món yờu cu bi toỏn.
S 0 nu khụng tn ti cp s no tho món yờu cu bi toỏn.
Gii hn: 0 < N < 50000; |K|, |a
i
| < 1000 i = 1 n;
Vớ d:
BAI2.INP
BAI2.OUT

BAI2.INP
BAI2.OUT
4 5
0 2 6 4
1
3 3
1 2 3
0
S bỏo danh
.

Trang 2/2
Bài 3: (4 điểm) Xâu đối xứng
Xâu đối xứng là xâu đọc giống nhau nếu ta bắt đầu đọc từ trái qua phải hoặc từ phải qua
trái. Ví dụ, xâu RADAR là xâu đối xứng, xâu TOMATO không phải là xâu đối xứng.
Yêu cầu: Cho một xâu S gồm không quá 200 kí tự. Cho biết S có phải là xâu đối xứng hay
không? Nếu không, cho biết số kí tự ít nhất cần thêm vào S để S trở thành xâu đối xứng.
Dữ liệu: Vào từ file văn bản BAI3.INP, gồm duy nhất 1 dòng ghi xâu S.
Kết quả: Ghi ra file văn bản BAI3.OUT, duy nhất số k là số kí tự ít nhất cần thêm vào S để S
trở thành xâu đối xứng. Nếu xâu S đã cho là đối xứng thì ghi k = 0.
Ví dụ:
BAI3.INP
BAI3.OUT
BAI3.INP
BAI3.OUT
RADAR
0
TOMATO
3
Bài 4: (3 điểm) Biểu thức Zero

Cuội viết liên tiếp các số tự nhiên từ 1 đến N thành dãy: 1 2 3 N. Cuội đố Bờm điền
các dấu phép toán + hoặc - vào giữa 2 số tự nhiên liên tiếp sao cho biểu thức thu được có kết
quả bằng 0.
Yêu cầu: Bạn hãy giúp Bờm viết chương trình liệt kê tất cả các cách điền dấu phép toán thích hợp.
Dữ liệu: Vào từ file văn bản BAI4.INP gồm 1 dòng duy nhất ghi số N. N<10
Kết quả: Ghi ra file văn bản có tên BAI4.OUT:
 Dòng đầu tiên ghi số M là số cách điền dấu vào biểu thức.
 M dòng tiếp theo, mỗi dòng ghi một kết quả tìm được.
Ví dụ:
BAI4.INP
BAI4.OUT
BAI4.INP
BAI4.OUT
2
0
3
1
1+2-3=0
Bài 5: (3 điểm ) Miền 0
Cho một hình chữ nhật gồm M hàng, N cột, được chia thành MxN ô vuông. Mỗi ô
vuông được ghi một trong hai số nguyên 0 hoặc 1.
Miền 0 là một miền liên tục các số 0 thuộc các ô chung cạnh với nhau. Diện tích miền là
số lượng các ô vuông cùng giá trị thuộc miền đó.
Yêu cầu: Tính diện tích miền 0 lớn nhất của hình chữ nhật đã cho.
Dữ liệu: Vào từ file văn bản BAI5.INP:
 Dòng đầu tiên ghi hai số M, N.
 M dòng tiếp theo, mỗi dòng ghi N số lần lượt là giá trị các ô trong bảng số.
Kết quả: Ghi ra file văn bản BAI5.OUT số nguyên duy nhất là diện tích miền 0 lớn nhất.
Giới hạn: 1 < M, N < 100.
Ví dụ:

BAI5.INP
BAI5.OUT
3 4
0 0 0 1
1 1 0 1
0 0 1 0
4
Cán bộ coi thi không giải thích gì thêm.
Hết
UBND TNH TIN GIANG
S GIÁO DC VÀ ÀO TO


CNG HOÀ XÃ HI CH NGHA VIT NAM
c lp - T do - Hnh phúc

K THI CHN HC SINH GII LP 12 THPT CP TNH
Khóa ngày 30 tháng 10 nm 2007
Môn: TIN HC
Thi gian làm bài: 180 phút (không k thi gian giao )
Ngày thi: 30/10/2007
( thi gm 2 trang)
TNG QUAN BÀI THI
Tên bài Tên chng trình File d liu vào File kt qu
Bài 1 Xóa kí t trùng XAU.PAS XAU.INP XAU.OUT
Bài 2 Giá tr lp DAYSO.PAS DAYSO.INP DAYSO.OUT
Bài 3 Tìm min trên li LUOI.PAS LUOI.INP LUOI.OUT
Hãy lp trình gii các bài toán sau:
Bài 1: Xóa kí t trùng (6 im) Tên chng trình: XAU.PAS
Vit chng trình xóa các kí t liên tip ging nhau trong mt xâu cho trc và

ch cha li mt.
D liu: Vào t file vn bn XAU.INP gm 1 dòng cha xâu ch gm các ch cái in
thng
K t qu: Ghi ra file vn bn XAU.OUT cha xâu sau khi xóa các kí t trùng
Ví d!:
XAU.INP XAU.OUT
ppppppiaanooooo piano
Hn ch :  dài xâu không quá 250 kí t
Bài 2: Giá tr lp (7 im) Tên chng trình: DAYSO.PAS
Cho trc dãy s n s nguyên a
1
, a
2
, , a
n
không gim và 2 ch s i và j (1  i  j  n).
Hãy tìm s ln lp li nhiu nht ca các s trong dãy s a
i
, , a
j
.
D liu: Vào t file vn bn DAYSO.INP gm :
• Dòng u tiên cha s nguyên n
• Dòng th hai cha dãy s a
1
, a
2
, , a
n
.

• Dòng th ba cha 2 s i và j
(các s trên cùng mt dòng cách nhau ít nht bi mt du cách)
K t qu: Ghi ra file vn bn DAYSO.OUT có :
• Dòng u tiên cha s ln lp li nhiu nht ca các s trong dãy a
1
, a
2
, , a
n
.
• Dòng th hai cha s ln lp li nhiu nht ca các s trong dãy a
i
, , a
j

Ví d!:
DAYSO.INP DAYSO.OUT
10
-1 -1 1 1 1 1 3 10 10 10
5 10
4
3
Hn ch : 1  n 100, -10000  a
i
 10000 vi i

{1, , n}
" CHÍNH TH#C


×