những đề thi này rất có ích cho những ai muốn thử sức mình với môn tin học những đề thi này rất có ích cho những ai muốn thử sức mình với môn tin học những đề thi này rất có ích cho những ai muốn thử sức mình với môn tin học những đề thi này rất có ích cho những ai muốn thử sức mình với môn tin học những đề thi này rất có ích cho những ai muốn thử sức mình với môn tin học
Trang 1SỞ 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 a1 , a2 , ,an Ta có thể xem như đã có đoạn gồm một phần tử
a1 đã được sắp, sau đó thêm a2 vào đoạn a1 để có đoạn a1, a2 được sắp; tiếp tục thêm a3 vào đoạn a1, a2 để có đoạn a1, a2, a3 được sắp; tiếp tục cho đến khi thêm xong aN vào đoạn a1 a2 aN-1 sẽ có dãy a1 a2 aN đượ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
Trang 2Bà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ụ:
misplace
misspelled
mislead
- Hết -
Trang 3SỞ GIÁO DỤC VÀ ĐÀO TẠO KỲ THI CHỌN HSG LỚP 12 CẤP TỈNH
ĐỀ 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 (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ụ:
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 ai1, ai2, aim 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 ci 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
Trang 4- Dòng đầu là 4 số n k A B (2<= n <= 500 và 1<= k <= 50)
- Dòng thứ hai là k số c1 c2 ck (0< ci < 100)
- K dòng tiếp theo, dòng thứ i có dạng
mi ai1 ai2 aim
mi là số lượng các trạm mà tuyến xe thứ i phải qua, mi 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ụ :
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 ai (ai <= 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ụ :
10
9
6
4
5
8
3
4
6
1 6
6 3
o0o
3
4 5
Trang 5Trang 1/2
Sở Giáo dục và đào tạo
thanh hoá
ĐỀ CHÍNH THỨC
Kỳ thi học sinh giỏi tỉnh
Năm học: 2008-2009 Mụn thi: Tin học Lớp 12 THPT
Ngày thi: 28/03/2009 Thời gian: 180 phỳt (khụng kể thời gian giao đề)
Đề này cú 05 cõu, gồm 02 trang
Tổng quan bài thi:
Tờn bài File chương trỡnh File dữ liệu vào File kết quả
Giới hạn thời gian cho mỗi test là 3 giõy.
Dữ liệu vào là đỳng đắn, khụng cần phải kiểm tra.
Hóy lập trỡnh giải cỏc bài toỏn sau:
Bài 1: (5 điểm) Số nguyờn tố
Cho dóy số gồm cú N số nguyờn dương a1, a2, , aN và một số nguyờn dương K
Yờu cầu: Hóy cho biết số lượng cỏc phần tử cú giỏ trị nhỏ hơn K là số nguyờn tố của dóy số trờn.
Dữ liệu: Vào từ File văn bản BAI1.INP gồm:
Dũng đầu tiờn là hai số N và K
Dũng tiếp theo lần lượt là N số nguyờn của dóy số
Kết quả: Ghi ra File BAI1.OUT gồm duy nhất số M là số lượng cỏc phần tử của dóy số thoả
món yờu cầu đề bài
Giới hạn: 0 < N < 50000; 0 < K, ai < 5000i = 1 N;
Vớ dụ:
7 8
1 2 3 8 7 6 11
3
Bài 2: (5 điểm) Trung bỡnh cộng
Cho dóy gồm n số nguyờn a1, a2, , an và số nguyờn K
Yờu cầu: Cho biết trong dóy số đó cho cú tồn tại hay khụng một cặp số mà trung bỡnh cộng của
chỳng là K
Dữ liệu: Vào từ file văn bản BAI2.INP:
Dũng đầu tiờn ghi hai số n, K
Dũng tiếp theo lần lượt ghi n số a1, a2, , an
Cỏc số trờn cựng một dũng được ghi cỏch nhau ớt nhất một dấu cỏch trống
Kết quả: Ghi ra file văn bản BAI2.OUT:
Số 1 nếu tồn tại một cặp số thoả món yờu cầu bài toỏn
Số 0 nếu khụng tồn tại cặp số nào thoả món yờu cầu bài toỏn
Giới hạn: 0 < N < 50000; |K|, |ai| < 1000i = 1 n;
Vớ dụ:
4 5
0 2 6 4
1 2 3
0
Số bỏo danh
……….
…
Trang 6Trang 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ụ:
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ụ:
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ụ:
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
Trang 7-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
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!:
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 a1 , a2 , , an 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 ai , , aj
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 a1 , a2 , , an
• 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 a1 , a2 , , an
• 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 ai , , aj
Ví d!:
10
-1 -1 1 1 1 1 3 10 10 10
5 10
4
3
H n ch : 1 n 100, -10000 ai 10000 v i i ∈ {1, , n}
" CHÍNH TH#C