Dữ liệu: Vào từ file văn bản ENCO.INP gồm 1 dòng chứa xâu cần mã hóa.. Bai 2: Day Fibbonacci 5 diém Tên chương trình: FIBB.PAS Trong khi khám phá những ngọn núi, các nhà khoa học tình cờ
Trang 1
SỞ GIÁO DỤC VÀ ĐÀO TẠO KY THI CHON HOC SINH GIOI CAP TINH
DE CHINH THUC Mon: TIN HOC Bang: A
Thời gian: 180 phut (khong ké thoi gian giao dé)
Ngày thi thứ nhất: 23/10/2012
(Đề thi có 02 trang, gồm 04 bài)
Hãy lập trình giải các bài toán sau:
Bài 1: Mã hóa (5 điểm) Tên chương trình: ENCO.PAS Hãy mã hóa xâu một xâu cho trước theo quy luật thay thế sau: A thay bởi Z„ B thay bởi Y, C thay bởi X và tương tự như thế Các kí tự không là chữ cái sẽ không thay đôi
Dữ liệu: Vào từ file văn bản ENCO.INP gồm 1 dòng chứa xâu cần mã hóa Các từ trong xâu chỉ gôm các chữ In hoa “A" 'Z”
Kết quả: Ghi ra file văn bản ENCO.OUT chứa xâu đã mã hóa
Bai 2: Day Fibbonacci (5 diém) Tên chương trình: FIBB.PAS Trong khi khám phá những ngọn núi, các nhà khoa học tình cờ phát hiện răng chiêu cao của các ngọn núi hình thành một dãy số Fibbonacci
Dãy sô xị, Xạ, ., Xạ, được gọi là dãy FibbonaccI tổng quát nếu với mọi i > 2:
Xi = Xị-| T Xi-2 Dãy số Fibbonacci chuẩn là dãy tổng quát có xị = xạ=1
Một ví dụ của dãy số Fibbonacci tổng quát là: 2, 5, 7, 12, 19,
Viết chương trình đọc vào một dãy số và xác định xem đó có là dãy Fibbonacci tổng quát không?
Dữ liệu: Vào từ file văn bản FIBB.INP gồm | dòng có:
e Số đầu tiên k, sỐ phân tử của dãy
e Tiếp theo là k số nguyên của dãy
Giả sử các số đều dương và không vượt qua 2”” Các số trên cùng một dòng cách nhau bởi dấu cách
Kết quả: Ghi ra file văn bản FIBB.OUT chứa chữ “YES” nếu đó là dãy Fibbonacci tổng quát, ngược lại ghi chữ “NO”
Vị dụ:
712 2 4 6 10 16 NO
Bài 3: Ai cao nhất (5 điểm) Tên chương trình: TALL.PAS Trong một lớp học, theo yêu câu của giáo viên chủ nhiệm, mỗi học sinh cần đo chiều cao của mình Tuy nhiên, môi học sinh sử dụng một đơn vị đo lường khác nhau, hoặc là mét (m), đêximét (dm), centimet (cm), hoặc milimet (mm)
Trang 1/2
Trang 2
Yêu cầu: Tìm ra tên của k học sinh cao nhất trong lớp
Dữ liệu: Vào từ file văn bản TALL.INP gồm:
e Dong đầu chứa số nguyên n, biểu diễn số học sinh trong lớp và k (0<k< n <100)
e ndong tiép theo, mỗi dòng chứa dữ liệu theo thứ tự: tên, chiều cao và đơn vị đo của một học sinh Các dữ liệu này ngăn cách nhau bởi dấu cách Chiều cao là một số thực
và các đơn vị đo có thể là m, dm, cm hay mm
Kết quả: Ghi ra file văn bản TALL.OUT gồm k dòng chứa tên của các học sinh cao nhất lớp Nếu các học sinh này có cùng chiều cao thì in ra theo thứ tự alphabet
Vi du:
Karl Heinz Weigang 134 cm Melanie Adams 18.9 dm
Jill 1.54 m Sam Stosur 133 cm Joel 1877 mm
Roger Federer 17.83 dm Karen Louise Bardsley 178 cm
Bài 4: Số thú vị (5 điểm) Tên chương trình: INTE.PAS
Số thi vi 1a sé nguyén dương có chứa k chữ số giống nhau liên tiếp Ví dụ, với k=2 thì các sô 22, II1, 100, 556 la cac s6 thu vị, nhưng các sô 2, 121, 1212 không là các sô /h vị
Yêu câu: Đọc vào các sô nguyên a, b và k Hãy đêm các sô thu vi tir a dén b
Dữ liệu: Vào từ file văn bản INTE.INP gồm 1 dòng chứa hai số nguyên a, b (1< a<b<
101) và k(1<k<20)
Kết quả: Ghi ra file văn bản INTE.OUT chứa số lượng số /## vị từ a đến b
~ - HET -
e Thi sinh khéng duoc su dung tài liệu
© Gidm thi khéng gidi thich gi thêm
Trang 2/2
Trang 3
SỞ GIÁO DỤC VÀ ĐÀO TẠO KỲ THỊ CHỌN HỌC SINH GIỎI CÁP TỈNH
DAP AN DE THI CHÍNH THỨC
Ngày thi thứ nhất: 23/10/2012
(Gồm 03 trang) Bài 1: Mã hóa (5 điểm)
CODE
2 |GSVJFRXP YILDM ULC QFNKVW LEVI | THE QUICK BROWN GSV OZAB WLT NLIV GSZM 324 FOX JUMPED OVER THE
324 TIMES!!!
3 | ZNZARMT, GSRH KILTIZN YLGS AMAZING, THIS
DECODES A SENTENCE!?1
4 | WZF GSZM XSFZ ILR CFLMT WZG, CRM_ | DAU THAN CHUA ROI
HA DUNG LO!
5 |#GSV TIVZGVI BLF XORNY = GSV #THE GREATER YOU
YOU FALL#
Bài 2: Dãy Fibbonacci (5 điểm)
4 | 12 28 93 121 549 884 2317 3750 6067 9817 | NO
15884 25701 41585
Trang 1/3
Trang 4
Bài 3: Ai cao nhất (5 điểm)
Karl Heinz Weigang 134 cm
Melanie Adams 18.9 dm Jill 1.54 m
Sam Stosur 133 cm Joel 1877 mm
Roger Federer 17.83 dm
Karen Louise Bardsley 178 cm
Marnie Elizabeth McBean 17.9 dm
Karl 191 m Melanie 192 m Jill 193 m Sam 194 m Joel 195 m Roger 196 m Karen 197 m Marnie 198 m
Karl 194 m
Melanie 193m
Jill 192 m Sam 191m Joel 189 m Roger 188 m Karen 187 m Marnie 186 m
Trang 2/3
Trang 5
Karl 194 m
Karl 5 m
Bài 4: Số thú vị (5 điểm)
3 243923 832929 4 1570
Trang 3/3
Trang 6
SỞ GIÁO DỤC VÀ ĐÀO TẠO _ KỲ THỊ CHỌN HỌC SINH GIỎI CAP TINH
Thời gian: 180 phút (không kể thời gian giao dé)
Ngày thi thứ nhất: 23/10/2012
(Đề thi có 02 trang, gồm 04 bài)
Hãy lập trình giải các bài toán sau:
Bài 1: Tổng các số lẻ (5 điểm) Tên chương trình: ODD.PAS
Cho trước đoạn [a, b], hãy tìm tổng các số nguyên lẻ thuộc đoạn này Ví dụ, tông của
tất cả các số nguyên lẻ trong đoạn [3, 9] là 3 + 5 + 7 + 9 = 24
Dữ liệu: Vào từ file văn bản ODD.INP gồm dòng đầu chứa số nguyên a, dòng thứ hai chứa
sô nguyên b (0 <a<b < 100)
Kết quả: Ghi ra file văn bản ODD.OUT chứa tổng cân tìm
Ví dụ:
9
Bài 2: Xóa số trùng (5 điểm) Tên chương trình: DUP.PAS Một trang Web được thiết kế có chức năng đoán số Người dùng gõ vào số nguyên cần
đoán và click nút "Submit” Thật không may, thời gian đáp ứng từ máy chủ thường rất lâu
và người dùng có thé thiếu kiên nhẫn, click vào nút "Gửi" nhiều lần Điều này dẫn đến tạo
ra rất nhiều số trùng lặp
Yêu cầu: Viết một chương trình để hỗ trợ các nhân viên quản trị tìm ra những số trùng lặp
Dữ liệu: Vào từ file văn bản DUP.INP gồm 1 dòng có:
e Đầu tiên là số nguyên N,0<W<2§
e_ Tiếp theo là dãy số nguyên do người dùng gõ vào (các số này có giá trị từ 0 đến 99)
Kết quả: Ghi ra file văn bản DUP.OUT gồm 1 dòng chứa dãy số đoán của người dùng theo thứ tự ban đâu, nhưng các sô trùng liên tiêp đã bị xóa
Lưu ý: các sô trên cùng một dòng cách nhau bởi dâu cách
Ví dụ:
Bai 3: Isograms (5 diém) Tén chwong trinh: ISO.PAS
Một từ được gọi là "cap ISOgrams_ nếu mỗi kí tự trong từ xuất hiện đúng 2 lần trong từ
đó Ví dụ, từ “teammate” la “cap isograms”, tr “dad” không là “cap isograms” vì kí tự
“a” không xuất hiện hai lần trong từ
Trang 1/2
Trang 7
Yêu cầu: Hãy xác định xem một từ cho trước có là “cặp isograms” khong?
Dữ liệu: Vào từ file văn bản ISO.INP gồm 1 dòng chứa từ cân kiểm tra Biết rằng từ này có
ít nhất 1 kí tự và có không quá 52 kí tự, chỉ gồm các chữ in thường
Kết quả: Ghi ra file văn bản ISO.OUT chứa chữ “YES” nếu đó là “cặp isograms”, ngược lại ghi chữ “NO”
Vị dụ:
Bai 4: Tim 6 dich (5 diém) Tén chuwong trinh: TARGET.PAS Một bản đồ có dạng lưới các ô vuông , mỗi ô chứa một số nguyên từ 0 9 Lưới có kích thước m dòng và n cột Các dòng được đánh số từ 1 đến m và từ trên xuống dưới Cột được đánh số từ I đến n và từ trái sang phải
Một ô năm ở dòng r, cột c được biểu diễn boi (r,c)
Ô (r,e) được gọi là đích nếu nó chứa số nguyên bằng với số £ cho trước và giá trị trong cac 6 (r-1, c-1); (r-1, c+1); (r+l, e-l); (r+1, e+1) đều bằng nhau (nếu các ô nói trên năm ngoài lưới thì giá trị của nó là 0)
Yêu cầu: Viết chương trình xác định ô đích dựa trên số nguyên ứ cho trước
Ví dụ: Trong bản đồ
1234567
6789012
7973634
6482156
7570278 Với £=4 thì ô đích là (4,2); (1,4) không là ô đích;
Nếu ta thay giá trị của ô (2, 3) là 0 thay cho 8 thì (1,4) sẽ là ô đích
Dữ liệu: Vào từ file văn bản TARGET.INP có:
e Dòng đầu tiên chứa số nguyên m, dòng thứ hai chứa số nguyên n (0 <m,n<10)
e lrongm dòng tiếp theo, mỗi dòng chứa n số nguyên từ 0 9
e Dòng cuối cùng chứa số nguyen ¢ co giá trị từ 0 9
Lưu ý: Trên lưới đã cho có thể chứa đúng 1 số / hoặc không chứa Số ứ
Kết quả: Ghi ra file văn bản TARGET.OUT chứa 2 số nguyên r (dòng) và c (cột) cho biết
vị trí của ô đích (2 số này cách nhau bởi dấu cách) Nếu không tìm được thì ghi sé -1
Vi du:
7
1234567
6789012
7973634
6482156
7570278
4
e_ Thí sinh không được sử dụng tài liệu
e_ Giám thị không giải thích gì thêm
Trang 2/2
Trang 8
SỞ GIÁO DỤC VÀ ĐÀO TẠO KỶ THỊ CHỌN HỌC SINH GIỎI CÁP TÍNH
DAP AN DE THI CHINH THUC
Mon: TIN HOC Bang: B
Ngày thi thứ nhất: 23/10/2012
(Gồm 02 trang) Bài 1: Tổng các số lẻ (5 điểm)
9
2 5
3 99
* | 98
° 2 Bài 2: Xóa số trùng (5 điểm)
Bài 3: Isograms (5 điểm)
4 | aabbccddeeffgghhiijjkklImmnnooppgqarrssttuuvvwwxxyyzz YES
5 | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa NO
Trang 1/2
Trang 9
Bai 4: Tim 6 dich (5 diém)
5
7
1234567
6789012
7973634
6482156
7570278
4
42
4
4
1234
4078
9012
3456
11
121
100
141
0
22
2
2
40
54
5
21
6
020546
489096
060584
123456
458903
609490
Trang 2/2
Trang 10
SỞ GIÁO DỤC VÀ ĐÀO TẠO KỲ THỊ CHON HOC SINH GIOI CAP TINH
Thoi gian: 180 phut (khong ké thoi gian giao dé)
Ngày thị thứ hai: 24/10/2012
(Đề thi có 02 trang, gồm 04 bài)
Hãy lập trình giải các bài toán sau:
Bài 5: Từ chung (Š điểm) Tên chương trình: WORD.PAS Cho trước dãy m từ và một số nguyên #, hãy tìm từ có măt đúng k lần trong dãy
Dữ liệu: Vào từ file văn bản WORD.INP gồm
e Dong đầu chứa l số nguyên m và & (1 <m< 1000) e_ m dòng tiếp theo, mỗi dòng chứa 1 từ không quá 20 kí tự
Kết quả: Ghi ra file văn bản WORD.OUT chứa từ có mặt đúng k lần trong dãy
Lưu ý: Nếu tìm được hơn 1 tir thi in chang theo thứ tự ban đầu, nếu không tìm được từ thì ghi chữ “EMPTY”
the
brown
the fox red
the
red
Bài 6: Số nguyên tố (5 điểm) Tên chương trình: PRIME.PAS
Số nguyên tố là là số nguyên lớn hơn Ì chỉ chia hết cho 1 và chính nó Ngoài ra nó không chia hết cho bất cứ số nào khác
Nhập vào sỐ nguyên dương, hãy aD ¿ OD 4 Hw ow OD ts áo 20
cho biết đó có là số nguyên tố không 2f 2 @) 2 26 26 2 3x Gd 40 hoặc thông báo còn bao nhiêu số nữa sẽ = GR OE 2 32 ae x6 GD BR dỡ x_ LÁ a 4k CÀO oe ak 4 (3) mw 4s 46 GD 4S 49 40 gặp sô nguyên tô gân nó nhât trong dãy Z3 St 4#! ẤT #ếE GÀ gố
sô nguyên (lưu ý sô nguyên tô gân n nhât để a x “6 @ « Sf a
z A 9 w 7 ĐÃ > Fai +f vo “a o3 Ls tg g0
St 93 SF oF OS %6 UD BS 27 408
Dữ liệu: Vào từ file van bản PRIME.INP gồm 1 dòng "SỐ nguyên dương n (2< n < 10 000), sô cần kiểm tra
Kết quả: Ghi ra file văn bản PRIME.OUT chứa 1 trong 2 gia tri sau:
- “PRIME”: néu n là số nguyên tố”, ngược lại in ra:
- _ Số nguyên d với d là khoảng cách từ n đến số nguyên tố gần nó nhất
Trang 1/2
Trang 11
Vi du:
23 (cách 2 số)
23 (cách 1 số) Bài 7: Lũy thừa (5 điểm) Tên chương trình:POWER.PAS
Một người đưa ra cách tạo dãy số theo quy luật sau: : Lấy thừa n của số tự nhiên m cho trước, sau đó lây hai chữ số cuối của kết quả Hai chữ số cuối này được lũy thừa n lần nữa
va lấy 2 chữ số cuối của kết quả, quá trình này được lặp lại đến khi gặp lại 2 số ban dau
Vĩ dụ: với số tự nhiên 123: 123” = 186067, 67° = 300763, 63°=47832147,
Day hai chit số được tạo thành sẽ là : 67, 63, 47, 23, 67
Lưu ý: nêu kết quả của phép lấy lũy thừa chỉ có một chữ số thì thêm số 0 phía trước Ví dụ:
2°=08, 8°=512, 12°=1728, 28°=21952, 52°=140608> day 08, 12, 28, 52,08
Yêu cầu: Viết chương trình in ra dãy 2 chữ số theo quy luật trên trước khi gặp số ban đầu
Dữ liệu: Vào từ file văn bản POWER.INP chứa số nguyên 2 số nguyên m vàn (1 <m<
10 000, 1 <n < 50)
Kết quả: Ghi ra file văn bản POWER.OUT chứa dãy số được tạo theo quy luật trên (mỗi
phần tử của dãy phải có 2 chữ số)
Các số trên cùng một dòng cách nhau bởi dấu cách
Bai 8: Quan ma (5 diém) Tên chương trình:KNIGHT.PAS Một bàn cờ vua kích thước N xN Các dòng và cột được đánh số từ I đến N Có một
quân mã được đặt tại một ô ở dòng RI, cot Cl, chuẩn bị một hành trình trên bàn cờ Quân
mã muốn đến ô ở vị trí dòng R2, cột C2
Yêu cầu: Di chuyển quân mã từ ô xuất phát đến ô kết thúc với số bước nhỏ nhất
Lưu ÿ: Quân mã di chuyển theo hình chữ L, tức dọc theo một trục 2 ô và theo trục còn lai 1
ô hay nói cách khác nếu quân mã ở vị trí (A,B), nó có thể di chuyển đến các ô (A-2,B -]),
(A-2, B+1), (A+2, B-1), (A+2, B+1), (A-1, B-2), (A+1,B-2), (A-1, B+2) hoac (A+1, B+2)
Dĩ nhiên, quân mã không thể di chuyển khỏi bàn CO
Dữ liệu: Vào từ file văn bản KNIGHT.INP gồm l1 dòng chứa các số nguyên dương N (3<NK< 20), R1, Cl, R2 va C2 (1 <RI, C1, R2, C2 <N)
Kết quả: Ghi ra file văn bản KNIGHT.OUT chứa số bước nhỏ nhất để di chuyển quân mã
từ (R1, C1) đến (R2, C2) (Giả sử dữ liệu nhập đảm bảo bài toán luôn có lời giải)
e Thi sinh khéng duoc su dung tai liéu
e Gidm thi khéng gidi thich gì thêm
Trang 2/2
Trang 12
SO GIAO DUC VA DAO TAO KY THI CHON HOC SINH GIOI CAP TINH
DAP AN DE THI CHINH THUC
Ngày thị thứ hai: 24/10/2012
(Gồm 02 trang) ` Bài 1 Từ chung (5 điểm)
the
brown the
red the red
wash
the
different
boat
car van
truck boat truck truck
Bài 2: Số nguyên tố (5 điểm)
2 số)
Trang 1/2