SỞ GIÁO DỤC VÀ ĐÀO TẠO
KIÊN GIANG
KỲ THI CHỌN HỌC SINH GIỎI VÒNG TỈNH LỚP 9 THCS
NĂM HỌC 2012-2013
ĐÁP ÁN CHÍNH THỨC
MÔN THI: TIN HỌC
Thời gian làm bài: 150 phút (không kể thời gian giao đề)
Ngày thi: 01/3/2013
(Đáp án gồm 02 trang)
Bài 1: (5.0 điểm)
18=3+4+5+6
Test 1: N=18
18=5+6+7
6=1+2+3
Khong ton tai day so
21=1+2+3+4+5+6
21=6+7+8
21=10+11
Test 2: N=6
Test 3: N=16
Test 4: N=21
Trình bày rõ ràng, cấu trúc dễ nhìn; giải thuật tốt, ngắn gọn
1.5 điểm
1.0 điểm
1.0 điểm
1.0 điểm
0.5 điểm
Bài 2: (5.0 điểm)
Test 1: N=15
N=30
Test 2: N=222
Test 3: N=12345
15=13+2
30=21+8+1
222=144+55+21+2
12345=10946+987+377+34+1
999999999=701408733+267914296+24157817+5
Test 4: N=999999999
702887+514229+196418+75025+28657+1597+2
33+89+13+5
Trình bày rõ ràng, cấu trúc dễ nhìn; giải thuật tốt, ngắn gọn
1.5 điểm
1.0 điểm
1.0 điểm
1.0 điểm
0.5 điểm
Bài 3: (5.0 điểm)
Test 1:
N=10
A1=4
A2=5
A3=12
A4=5
A5=4
Test 2:
N=20
A1=2
A2=5
A3=12
A4=5
A5=2
A6=11
A7=8
A8=14
A9=9
A10=2
Test 3:
N=6
A1=11
A2=22
A3=33
A6=11
A7=8
A8=14
A9=9
A10=4
A11=17
A12=5
A13=16
A14=35
A15=74
A16=5
A17=2
A18=17
A19=41
A20=2
A4=44
A5=55
A6=33
Cac so xuat hien trong mang la: 4, 5, 12, 11, 8, 14, 9
So xuat hien nhieu nhat trong mang la: 4
1.5 điểm
Cac so xuat hien trong mang la: 2, 5, 12, 11, 8, 14, 9,
17, 16, 35, 74, 41
So xuat hien nhieu nhat trong mang la: 2
1.0 điểm
Cac so xuat hien trong mang la: 11, 22, 33, 44, 55
So xuat hien nhieu nhat trong mang la: 33
1.0 điểm
1
Test 4:
N=20
A1=2
A2=2
A3=3
A4=1
A5=4
A6=2
A7=3
A8=1
A9=2
A10=4
A11=1
A12=2
A13=3
A14=2
A15=4
A16=5
A17=1
A18=3
A19=2
A20=4
Cac so xuat hien trong mang la: 2, 3, 1, 4,5
So xuat hien nhieu nhat trong mang la: 2
Trình bày rõ ràng, cấu trúc dễ nhìn; giải thuật tốt, ngắn gọn
1.0 điểm
0.5 điểm
Bài 4: (5.0 điểm)
Test 1:
- Nhap vao tien gui ban dau:
500000
- So thang muon gui: 8
Test 2:
- Nhap vao tien gui ban dau:
123456789
- So thang muon gui: 1
Test 3:
- Nhap vao tien gui ban dau:
250000000
- So thang muon gui: 3
Test 4:
- Nhap vao tien gui ban dau:
2000000000
- So thang muon gui: 34
- So tien duoc sau sau 8 thang la: 521240.92
1.5 điểm
- So tien duoc sau sau 1 thang la: 123580245.79
1.0 điểm
- So tien duoc sau sau 3 thang la: 255000000.00
1.0 điểm
- So tien duoc sau sau 34 thang la: 2489235365.41
1.0 điểm
Trình bày rõ ràng, cấu trúc dễ nhìn; giải thuật tốt, ngắn gọn
--------------------------HẾT--------------------------
2
0.5 điểm
SỞ GIÁO DỤC & ĐÀO TẠO
LÂM ĐỒNG
KÌ THI CHỌN HỌC SINH GIỎI CẤP TỈNH
NĂM HỌC 2010 - 2011
ĐỀ THI CHÍNH THỨC
(Đề thi có 02 trang, gồm 3 bài)
Môn : TIN HỌC - THCS
Thời gian : 150 phút (không kể thời gian giao đề)
Ngày thi : 18/2/2011
Cấu trúc đề thi:
STT
Tên bài
1
PHẦN TỬ YÊN
NGỰA
2
TỔNG CÁC SỐ
FIBONACI
3
CHỌN PHẦN
THƯỞNG
Tên file bài làm
PTYN.PAS
Tên file INPUT
PTYN.INP
Tên file OUTPUT
PTYN.OUT
FIBO.PAS
FIBO.INP
FIBO.OUT
PTHUONG.PAS
PTHUONG.INP
PTHUONG.OUT
Bài 1: (6 điểm) PHẦN TỬ YÊN NGỰA
Cho mảng 2 chiều A có kích thước MxN số nguyên. Phần tử A[i,j] được gọi là phần tử
yên ngựa nếu nó là phần tử nhỏ nhất trong hàng i đồng thời là phần tử lớn nhất trong cột j.
Em hãy lập chương trình tìm phần tử yên ngựa của mảng A.
Dữ liệu vào: cho file PTYN.INP gồm:
- Dòng đầu tiên gồm 2 số M, N (0 ≤ M,N ≤100)
- M dòng tiếp theo, mỗi dòng gồm có N số nguyên của mảng A
(các giá trị cách nhau ít nhất 1 khoảng cách).
Dữ liệu ra: ghi ra file PTYN.OUT vị trí của các phần tử yên ngựa (nếu có) hoặc dòng
thông báo “Không có phần tử yên ngựa”.
Ví dụ:
PTYN.INP
PTYN.OUT
33
(2,2)
15
3
9
55
4
6
76
1
2
Hoặc :
PTYN.INP
PTYN.OUT
33
Khong co phan tu yen ngua
15
10
5
55
4
6
76
1
2
Bài 2: (7 điểm) TỔNG CÁC SỐ FIBONACI
Dãy Fibonaci là dãy gồm các số: 1, 1, 2, 3, 5, 8, .... được xác định bởi công thức sau:
F1=1, F2=1, Fi=Fi-1+Fi-2 với i>2.
Em hãy biểu diễn một số tự nhiên N thành tổng của ít nhất các số Fibonaci khác nhau.
Dữ liệu vào: cho file FIBO.INP chứa số N (N ≤ 2000000000)
Dữ liệu ra: ghi ra file FIBO.OUT biểu diễn số N thành tổng của ít nhất các số
Fibonaci khác nhau.
Trang 1/5
Ví dụ:
FIBO.INP
129
FIBO.OUT
129 = 89 + 34 + 5 + 1
Hoặc
FIBO.INP
8
FIBO.OUT
8=8
Bài 3: (7 điểm) CHỌN PHẦN THƯỞNG
Trong kỳ thi học sinh giỏi môn Tin học, em là người đạt giải đặc biệt. Ban tổ chức cho
phép em chọn các phần thưởng cho mình. Các phần thưởng xếp thành một dãy được đánh
số từ 1 đến N (0 ≤ N ≤ 10000), phần thưởng thứ i có giá trị là ai (1 ≤ ai ≤ 100). Em được
phép chọn các phần thưởng cho mình theo nguyên tắc không chọn 3 phần thưởng liên tiếp
nhau trong dãy.
Viết chương trình để máy tính hướng dẫn em chọn các phần thưởng sao cho tổng giá
trị của các phần thưởng nhận được là lớn nhất.
Dữ liệu vào: cho file PTHUONG.INP gồm các dòng:
- Dòng đầu tiên là số phần thưởng N
- N dòng tiếp theo lần lượt là giá trị của các phần thưởng.
Dữ liệu ra: ghi ra file PTHUONG.OUT gồm các dòng:
- Dòng đầu tiên ghi tổng giá trị lớn nhất của các phần thưởng đã chọn
- Dòng tiếp theo ghi vị trí của các phần thưởng đã chọn theo thứ tự tăng dần.
Ví dụ:
PTHUONG.INP
5
6
9
1
3
5
PTHUONG.OUT
23
1245
PTHUONG.INP
7
6
9
1
3
5
10
4
PTHUONG.OUT
32
12467
Hoặc
----------HẾT----------
Họ và tên thí sinh: ....................................................... Số báo danh: ..................................
Giám thị 1:................................................................... Ký tên: ...........................................
Giám thị 2:................................................................... Ký tên: ...........................................
Trang 2/5
SỞ GIÁO DỤC & ĐÀO TẠO
KÌ THI CHỌN HỌC SINH GIỎI CẤP TỈNH
NĂM HỌC 2010 – 2011
LÂM ĐỒNG
HƯỚNG DẪN CHẤM ĐỀ CHÍNH THỨC
Môn :
TIN HỌC - THCS
Ngày thi : 18/2/2011
Bài 1: (6 điểm)
Có 6 bộ TEST, chạy đúng mỗi bộ cho 1 điểm.
STT
TEST.INP
1
3 3
15 3 9
55 4 6
76 1 2
2
3 4
15 10 8 8
55 4 6 2
76 9 12 7
3
3 4
15 10 8 8
55 4 6 2
76 9 12 8
4
45
11111
11111
11111
11111
5
TEST5INP (dữ liệu trên đĩa hướng
dẫn chấm)
6
TEST6INP (dữ liệu trên đĩa hướng
dẫn chấm)
Bài 2: (7 điểm)
Có 7 bộ TEST, chạy đúng mỗi bộ cho 1 điểm.
STT
TEST.INP
1
10
2
89
3
129
4
1000
5
11594
6
14930352
7
246854244
TEST.OUT
(2,2);
(1,4);
(1,4); (3,4)
(1,1); (1,2); (1,3); (1,4); (1,5); (2,1);
(2,2); (2,3); (2,4); (2,5); (3,1); (3,2);
(3,3); (3,4); (3,5); (4,1); (4,2); (4,3);
(4,4); (4,5);
Khong co phan tu yen ngua
(6,1)
TEST.OUT
10 = 8 + 2
89 = 89
129 = 89 + 34 + 5 + 1
1000 = 987 + 13
11594 = 10946 + 610 + 34 + 3 + 1
14930352 = 14930352
246854244 = 165580141 + 63245986
+ 14930352 + 2178309 + 832040 +
75025 + 10946 + 987 + 377 + 55 + 21
+5
Bài 3: (7 điểm)
Có 7 bộ TEST, chạy đúng mỗi bộ cho 1 điểm.
Trang 3/5
STT
1
2
3
4
5
6
7
TEST.INP
5
6
9
1
3
5
7
6
9
1
3
5
10
4
5
2
2
2
2
2
100
1
2
3
4
…..
99
100
3
1
2
3
5
1
0
3
0
4
10
1
6
3
20
4
23
4
57
TEST.OUT
23
1245
32
12467
8
1245
3400
1 3 4 6 7 9 10 12 13 15
16 18 19 21 22 24 25 27 28 30
31 33 34 36 37 39 40 42 43 45
46 48 49 51 52 54 55 57 58 60
61 63 64 66 67 69 70 72 73 75
76 78 79 81 82 84 85 87 88 90
91 93 94 96 97 99 100
5
23
8
135
241
1 2 4 6 7 9 10
Trang 4/5
87
100
-----HẾT-----
Trang 5/5
SỞ GD&ĐT NINH BÌNH
ĐỀ THI CHỌN HỌC SINH GIỎI LỚP 9 THCS
Năm học 2012 – 2013
MÔN:TIN HỌC
(Thời gian làm bài 150 phút, không kể thời gian giao đề)
Đề thi gồm 03 câu, trong 02 trang
ĐỀ THI CHÍNH THỨC
Yêu cầu kỹ thuật:
* Các file chương trình và file dữ liệu được đặt tên chính xác như sau:
Tên bài
File bài làm
Dữ liệu vào
Dữ liệu ra
Bài 1: Số siêu nguyên tố
SNT.PAS
SNT.INP
SNT.OUT
Bài 2: Trò chơi với băng số DIV.PAS
Bài 3: Bài toán ô vuông
SQUARE.PAS
Bài 1: Số siêu nguyên tố (8 điểm)
Time
2s
DIV.INP
DIV.OUT
2s
SQUARE.INP
SQUARE.OUT
2s
File bài làm: SNT.PAS
Tại Vương quốc Byte xinh đẹp, mỗi người luôn chọn cho mình một con số,
theo họ số nguyên tố là số mang lại sự may mắn và ai tìm được một số siêu nguyên tố
còn may mắn hơn nữa. Số siêu nguyên tố là một số nguyên tố mà khi bỏ 1 số tùy ý
các chữ số bên phải của nó thì phần còn lại vẫn là 1 số nguyên tố. Số 2333 là 1 số
siêu nguyên tố vì 2333 là một số nguyên tố và 233, 23, 2 cũng là các số nguyên tố.
Dữ liệu vào: SNT.INP Chứa một số nguyên dương n (n ≤ 109)
Dữ liệu ra: SNT.OUT Nếu N là siêu nguyên tố ghi giá trị 1, ngược lại ghi giá trị 0
Ví dụ:
SNT.INP
SNT.OUT
SNT.INP
SNT.OUT
2333
1
13
0
Bài 2. Trò chơi với băng số (8 điểm) File bài làm DIV.PAS
Cho một băng số gồm n số nguyên dương, mỗi số được viết trên một ô. Hãy
cắt băng số này thành nhiều đoạn nhất sao cho tổng các phần tử trong các đoạn là
bằng nhau.
Dữ liệu vào: DIV.INP
+ Dòng đầu ghi n (n ≤ 1000)
+ Dòng tiếp theo ghi n số nguyên dương a1, a2, ..., an
(các số nằm trên một dòng cách nhau bởi một dấu cách ai ≤ 1000)
Dữ liệu ra: DIV.OUT Ghi K là số đoạn cần chia.
Ví dụ:
10 2
6
2
5
2
1
2
DIV.INP
DIV.OUT
8
10 2 6 2 5 2 1 2
3
10
2
6
2
5
2
1
Giải thích
Đoạn 1: 10
Đoạn 2: 2 + 6 + 2 =10
Đoạn 3: 5 + 2 + 1 + 2 = 10
Trang 1/ 2
2
Bài 3: Bài toán ô vuông (4 điểm) File bài làm: SQUARE.PAS
Cho một bảng chữ nhật gồm m * n điểm (gồm m hàng ngang trên mỗi hàng có
n điểm). Các điểm liền kề trên cùng một hàng hoặc một cột có thể được nối với nhau
bởi một đoạn thẳng có kích thước bằng 1. Trên mỗi hàng có nhiều nhất n - 1 đoạn
thẳng nằm ngang nối các điểm liền nhau, trên mỗi cột có nhiều nhất là m - 1 đoạn
thẳng thẳng đứng nối các điểm liền nhau. Xem hình dưới:
Ngang:
1 0 1 0
1 0 0 0
1 1 1 1
Dọc:
1 1 1 0 0
1 1 0 0 0
Với bảng trên ta có 3 hàng ngang mỗi hàng 5 điểm. Các đoạn thẳng nối chúng
tạo nên 2 ô vuông. Để mô tả bảng người ta dùng hai mảng nhị phân: mảng Ngang
diễn tả các đoạn thẳng nằm ngang, mảng Dọc biểu diễn các đoạn thẳng thẳng đứng.
Trong các mảng, số 1 diễn tả có đoạn thẳng nối hai điểm liên tiếp, số 0 diễn tả không
có đoạn thẳng nối hai điểm liên tiếp.
Yêu cầu: Lập trình đếm số lượng các ô vuông mà cạnh có độ dài bằng 1 tạo bởi các
đoạn nối có trên bảng đã cho.
Dữ liệu vào: SQUARE.INP
+ Dòng đầu tiên gồm 2 số nguyên dương lần lượt là m, n (m, n ≤ 1000). Hai số
cách nhau một khoảng trắng.
+ m dòng tiếp theo diễn tả các đoạn thẳng nằm ngang (như bảng ngang mô tả ở
phần trên). Hai số liền nhau cách nhau một khoảng trắng.
+ m - 1 dòng tiếp theo diễn tả các đoạn thẳng thẳng đứng (như bảng dọc mô tả
ở phần trên). Hai số liền nhau cách nhau một khoảng trắng.
Dữ liệu ra : SQUARE.OUT
+ Số lượng ô vuông có độ dài cạnh bằng 1.
Ví dụ:
SQUARE.INP
SQUARE.OUT
3 5
2
1 0 1 0
1 0 0 0
1 1 1 1
1 1 1 0 0
1 1 0 0 0
-----HẾT----Họ và tên thí sinh :....................................................... Số báo danh .............................
Họ và tên, chữ ký: Giám thị 1:........................................................................................
Họ và tên, chữ ký: Giám thị 2:........................................................................................
Trang 2/ 2
SỞ GD&ĐT NINH BÌNH
HDC ĐỀ THI CHỌN HSG LỚP 9 THCS
Năm học 2012 – 2013
MÔN: Tin học
(Hướng dẫn chấm gồm 03 trang)
I. HƯỚNG DẪN CHUNG
Chấm tự động bằng phần mềm AMM2 với các bộ test có sẵn trên đĩa CD.
II. ĐÁP ÁN VÀ THANG ĐIỂM
1. Cấu trúc bộ test và thang điểm
Bài
Test
Gồm 16 bộ test, mỗi bộ 0.5 điểm.
Bài 1
Gồm 16 bộ test, mỗi bộ 0.5 điểm.
Bài 2
Gồm 16 bộ test, mỗi bộ 0.25 điểm.
Bài 3
2. Đáp án
Điểm
8 điểm
8 điểm
4 điểm
-----------Hết-----------
Bài 1:
Const fi = 'SNT.INP';
Fo = 'SNT.OUT';
var
n: longint; f:text; kq: boolean;
function nt(n: longint):boolean;
var i: longint;
begin
if n<2 then exit(false);
if n=2 then exit(true);
for i:=2 to trunc(sqrt(n)) do
if n mod i = 0 then exit(false);
exit(true);
end;
begin
assign(f,fi); reset(f);
readln(f,n);
close(f);
kq:= true;
while n<>0 do
begin
kq:= kq and nt(n);
n:= n div 10;
end;
assign (f,fo); rewrite(f);
if kq then write(f,'1') else write(f,'0');
close(f);
end.
Bài 2:
const
Trang 3/ 2
tfi='DIV.INP';
tfo='DIV.OUT';
var n: longint;
a, s: array[0..1001] of longint;
res: longint;
function ok(t: longint): boolean;
var i,u,tong: longint;
begin
tong:=0;
for i:=1 to n do if a[i]<>0 then
begin
tong:=tong+a[i];
if tong=t then tong:=0;
end;
exit(tong=0);
end;
procedure main;
var j,u,i,k,t: longint;
begin
assign(input,tfi); reset(input);
assign(output,tfo); rewrite(output);
read(n);
for i:=1 to n do read(a[i]);
s[0]:=0;
for i:=1 to n do s[i]:=s[i-1]+a[i];
for k:=n downto 1 do if s[n] mod k=0 then
begin
t:=s[n] div k;
if ok(t) then
begin
res:=k;
break;
end;
end;
writeln(res);
close(input); close(output);
end;
BEGIN
main;
END.
Bài 3
const fi='SQUARE.INP';
fo='SQUARE.OUT';
var f:text;
a,nga,doc:array[1..1000,1..1000] of integer;
Trang 4/ 2
i,m,n,d,j:integer;
procedure nhap;
var i,j:integer;
begin
assign(f,fi); reset(f);
readln(f,m,n);
for i:=1 to m do
begin
for j:=1 to n-1 do
read(f,nga[i,j]);
readln(f);
end;
for i:=1 to m-1 do
begin
for j:=1 to n do read(f,doc[i,j]);
readln(f);
end;
end;
begin
nhap;
d:=0;
for i:=1 to m-1 do
for j:=1 to n-1 do
if nga[i,j]+nga[i+1,j]+doc[i,j]+doc[i,j+1]=4 then
inc(d);
assign(f,fo); rewrite(f);
write(f,d);
close(f);
end.
Trang 5/ 2
Së Gd&§t
Qu¶ng b×nh
§Ò thi chÝnh thøc
Sè B¸o Danh: ............
kú thi CHäN häc sinh giái líp 9 tHCS
n¨m häc 2012- 2013
M«n thi: tin häc
(Khãa thi ngµy 27 th¸ng 3 n¨m 2013)
Thêi gian lµm bµi: 150 phót (kh«ng kÓ thêi gian giao ®Ò)
(Đề thi gồm có 02 trang)
ĐỀ RA
Sử dụng ngôn ngữ lập trình Turbo Pascal để lập trình giải các bài toán sau:
Câu 1: (3,0 điểm) Phần thưởng
PT.PAS
Trong cuộc thi giải toán qua mạng internet mỗi học sinh đều có số điểm
tích lũy riêng của mình. Số điểm tích lũy của mỗi học sinh là một số nguyên
dương K (0 < K ≤ 2×109). Đội tuyển của trường THCS Tài Năng có N học sinh
tham gia dự thi (2 ≤ N ≤ 100). Tại buổi gặp mặt trước kỳ thi cấp tỉnh, thầy hiệu
trưởng quyết định thưởng cho các học sinh trong đội tuyển Q triệu đồng, biết rằng
điểm tích lũy của mỗi học sinh đều chia hết cho Q.
Yêu cầu: Hãy tìm số nguyên dương Q lớn nhất.
Dữ liệu vào: Cho trong file văn bản PT.INP có cấu trúc như sau:
- Dòng 1: Ghi số nguyên dương N là số lượng học sinh.
- Dòng 2: Ghi N số nguyên dương lần lượt là điểm tích lũy của N học sinh, các số
được ghi cách nhau ít nhất một dấu cách.
Dữ liệu ra: Ghi ra file văn bản PT.OUT theo cấu trúc như sau:
- Dòng 1: Ghi số nguyên dương Q tìm được.
Ví dụ:
PT.INP
PT.OUT
5
3
15 24 45 36 27
Thời gian thực hiện chương trình không quá 1 giây cho mỗi bộ dữ liệu vào.
Câu 2: (3,5 điểm) Mật khẩu
MK.PAS
Cu Tí thường xuyên tham gia thi lập trình trên mạng. Vì đạt được thành
tích cao nên Tí được gửi tặng một phần mềm diệt virus. Nhà sản xuất phần mềm
cung cấp cho Tí một mã số là một số nguyên dương N có không quá 255 chữ số.
Để cài đặt được phần mềm, Tí phải nhập vào mật khẩu của phần mềm. Mật khẩu là
một số nguyên dương M được tạo ra bằng cách tính tổng giá trị các chữ số của N.
Yêu cầu: Hãy tìm số nguyên dương M.
Dữ liệu vào: Cho trong file văn bản MK.INP có cấu trúc như sau:
- Dòng 1: Ghi số nguyên dương N.
Dữ liệu ra: Ghi ra file văn bản MK.OUT theo cấu trúc như sau:
- Dòng 1: Ghi số nguyên dương M tìm được.
Ví dụ:
MK.INP
MK.OUT
84915388247 59
1/2
- Xem thêm -