Thông tin tài liệu
Së GI¸O DôC Vµ §µO T¹O
QU¶NG B×NH
kú thi CHäN häc sinh giái líp 11
n¨m häc 2008-2009
§Ò chÝnh thøc
SBD
Thêi gian 180 phót, kh«ng kÓ thêi gian giao ®Ò
m«n: tin häc – KHèI CHUY£N
®Ò ra
Sö dông ng«n ng÷ lËp tr×nh Pascal ®Ó lËp tr×nh gi¶i c¸c bµi to¸n sau:
C©u 1 (3,0 ®iÓm): T×m kÝ tù
KITU.PAS
Cho mét x©u St gåm c¸c kÝ tù tõ 'a' ... 'z' cã ®é dµi tèi ®a kh«ng qu¸ 255 kÝ tù.
Yªu cÇu: H·y t×m tÊt c¶ c¸c kÝ tù xuÊt hiÖn trong x©u St Ýt nhÊt hai lÇn.
D÷ liÖu vµo: Cho trong file v¨n b¶n KITU.INP cã cÊu tróc nh sau:
- Dßng 1: Ghi c¸c kÝ tù cña x©u St, c¸c kÝ tù ®îc viÕt liÒn nhau.
D÷ liÖu ra: Ghi ra file v¨n b¶n KITU.OUT theo cÊu tróc nh sau:
- Dßng 1: NÕu kh«ng t×m ®îc kÝ tù tháa m·n yªu cÇu th× ghi sè -1. Ngîc l¹i th× ghi c¸c kÝ tù
t×m ®îc theo thø tù t¨ng dÇn cña m· ASCII, c¸c kÝ tù ghi liÒn nhau.
VÝ dô:
KITU.INP
KITU.OUT
KITU.INP
KITU.OUT
hchcsucaaf ach
hkcsuaf
-1
C©u 2 (3,5 ®iÓm): T×m ®êng ®i ng¾n nhÊt
DUONGDI.PAS
Cã N thµnh phè, c¸c thµnh phè ®îc ®¸nh sè tõ 1 ®Õn N, biÕt r»ng ®êng ®i gi÷a hai
thµnh phè bÊt kú (nÕu cã) ®Òu lµ ®êng ®i hai chiÒu. S¬ ®å m¹ng líi giao th«ng cña N thµnh
phè nµy ®îc cho bëi ma trËn Aij, trong ®ã:
+ Aij = 0 nÕu kh«ng cã ®êng ®i tõ thµnh phè i ®Õn thµnh phè j;
+ Aij > 0 lµ ®é dµi ®êng ®i tõ thµnh phè i ®Õn thµnh phè j;
+ Aij = Aji;
+ Aii = 0;
Yªu cÇu: H·y x¸c ®Þnh ®êng ®i cã ®é dµi ng¾n nhÊt gi÷a hai thµnh phè P vµ Q.
D÷ liÖu vµo: Cho trong file v¨n b¶n DUONGDI.INP cã cÊu tróc nh sau:
- Dßng 1: Ghi 3 sè nguyªn d¬ng N P Q, c¸c sè ®îc ghi c¸ch nhau Ýt nhÊt mét dÊu c¸ch. (3
≤ N ≤ 100; 3 ≤ P, Q ≤ N; P ≠ Q).
- N dßng tiÕp theo: Mçi dßng ghi N sè nguyªn kh«ng ©m lµ gi¸ trÞ c¸c phÇn tö trong ma
trËn Aij (0 ≤ Aij ≤ 32767), 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 DUONGDI.OUT theo cÊu tróc nh sau:
- Dßng 1: NÕu kh«ng tån t¹i ®êng ®i tõ thµnh phè P ®Õn thµnh phè Q th× ghi sè -1. Ngîc l¹i
th× ghi sè nguyªn d¬ng S lµ ®é dµi ®êng ®i ng¾n nhÊt t×m ®îc.
- Dßng 2: Ghi lé tr×nh t¬ng øng víi ®é dµi ®êng ®i ng¾n nhÊt t×m ®îc, xuÊt ph¸t tõ thµnh
phè P vµ kÕt thóc ë thµnh phè Q, c¸c sè ®îc ghi c¸ch nhau Ýt nhÊt mét dÊu c¸ch.
VÝ dô:
DUONGDI.INP
4 1 4
0 3 7 10
3 0 4 4
7 4 0 2
10 4 2 0
DUONGDI.OUT DUONGDI.INP
7
4 1 4
1 2 4
0 3 0 0
3 0 1 0
0 1 0 0
0 0 0 0
DUONGDI.OUT
-1
C©u 3 (3,5 ®iÓm): Thêi ®iÓm gÆp mÆt
GAPMAT.PAS
Mét nhãm gåm N häc sinh tham gia c©u l¹c bé Tin häc, c¸c häc sinh ®îc ®¸nh sè tõ
1 ®Õn N. BiÕt thêi gian mµ häc sinh i cã mÆt t¹i c©u l¹c bé lµ [a i,bi], trong ®ã ai lµ thêi ®iÓm
1
b¾t ®Çu vµ bi lµ thêi ®iÓm kÕt thóc. C« gi¸o chñ nhiÖm c©u l¹c bé muèn ®Õn gÆp mÆt c¸c
häc sinh trong nhãm.
Yªu cÇu: H·y gióp c« gi¸o chñ nhiÖm x¸c ®Þnh thêi ®iÓm ®Õn c©u l¹c bé sao cho gÆp ®îc
nhiÒu häc sinh trong nhãm nhÊt.
D÷ liÖu vµo: Cho trong file v¨n b¶n GAPMAT.INP cã cÊu tróc nh sau:
- Dßng 1: Ghi sè nguyªn d¬ng N, (1 ≤ N ≤ 32000).
- N dßng tiÕp theo: Mçi dßng ghi 2 sè nguyªn d¬ng ai vµ bi (1 ≤ ai < bi ≤ 32000), 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 GAPMAT.OUT theo cÊu tróc nh sau:
- Dßng 1: Ghi hai sè nguyªn d¬ng K T. Trong ®ã K lµ sè lîng häc sinh cã mÆt ë c©u l¹c bé
t¹i thêi ®iÓm T mµ c« gi¸o ®Õn. Hai sè ghi c¸ch nhau Ýt nhÊt mét dÊu c¸ch.
Giíi h¹n thêi gian thùc hiÖn ch¬ng tr×nh kh«ng qu¸ 2 gi©y ®èi víi 1 bé d÷ liÖu vµo. Trong
®ã cã 40% bé d÷ liÖu vµo cã gi¸ trÞ cña N> 16000.
VÝ dô:
GAPMAT.INP
6
13
23
15
57
67
9 11
GAPMAT.OUT
3 2
GAPMAT.INP
5
12
35
79
11 15
17 21
GAPMAT.OUT
1 2
==== HÕt ====
Së GI¸O DôC Vµ §µO T¹O
QU¶NG B×NH
Híng dÉn chÊm
kú thi CHäN häc sinh giái líp 11
n¨m häc 2008-2009
m«n: tin häc – KHèI CHUY£N
I- Ph¬ng ph¸p:
- Gi¸m kh¶o t¹o bé d÷ liÖu vµo, tÝnh to¸n kÕt qu¶. Thùc hiÖn ch¬ng tr×nh cña häc sinh
vµ so s¸nh kÕt qu¶.
- Gi¸m kh¶o cã thÓ sö dông ch¬ng tr×nh gîi ý díi ®©y ®Ó tÝnh to¸n kÕt qu¶ cña d÷ liÖu
vµo.
- Ch¬ng tr×nh häc sinh ®óng mét bé test, gi¸m kh¶o cho 0,5 ®iÓm. Nh vËy, nÕu mét bµi
cã 3 ®iÓm th× gi¸m kh¶o ph¶i t¹o 6 bé test.
- §èi víi c©u 2, nÕu häc sinh ®a ra ®îc ®é dµi ®êng ®i ng¾n nhÊt, gi¸m kh¶o cho 1/2 sè
®iÓm. Cã thÓ cã nhiÒu lé tr×nh cïng cho ra mét ®é dµi ®êng ®i ng¾n nhÊt. NÕu häc sinh ®a
ra ph¬ng ¸n kh¸c víi ®¸p ¸n nhng vÉn ®óng th× gi¸m kh¶o cho ®iÓm tèi ®a.
- §èi víi c©u 3:
+ NÕu häc sinh ®a ra ®îc sè lîng häc sinh lín nhÊt t¹i thêi ®iÓm gi¸o viªn ®Õn, gi¸m
kh¶o cho 1/2 sè ®iÓm. Cã thÓ cã nhiÒu thêi ®iÓm gi¸o viªn ®Õn mµ cho cïng mét kÕt qu¶ sè
lîng häc sinh lín nhÊt. NÕu häc sinh ®a ra ph¬ng ¸n kh¸c víi ®¸p ¸n nhng vÉn ®óng th×
gi¸m kh¶o cho ®iÓm tèi ®a.
2
+ Sè lîng bé d÷ liÖu vµo cã kh«ng gian lín lµ 40%, (N>16000).
II- Ch¬ng tr×nh gîi ý:
C©u 1 (3,0 ®iÓm): T×m kÝ tù
Program Tim_ki_tu;
Const
fi='Kitu.inp';
fo='Kitu.out';
Type
mmc=Array['a'..'z'] of Byte;
Var A:mmc;
St:String;
f:text;
Procedure Doc;
begin
assign(f,fi);
reset(f);
readln(f,st);
close(f);
end;
procedure xl;
var i:byte;
begin
fillchar(a,sizeof(a),0);
for i:=1 to length(st) do a[st[i]]:=a[st[i]] +1;
end;
procedure xuat;
var ch:char; kt:boolean;
begin
assign(f,fo);
rewrite(f);
kt:=false;
for ch:='a' to 'z' do
if a[ch]>=2 then
begin
kt:=true;
write(f,ch);
end;
if kt=false then write(f,-1);
close(f);
end;
Begin
doc;
xl;
xuat;
End.
C©u 2 (3,5 ®iÓm): T×m ®êng ®i ng¾n nhÊt
Program Duong_di_ngan_nhat;
Const
fi='Duongdi.inp';
fo='Duongdi.out';
MaxN = 101;
vc=32767;
Type
mmc=Array[0..MaxN] of Integer;
mhc=Array[0..MaxN] of mmc;
Var A,L:mhc;
B:mmc;
N,P,Q,Top:Byte;
Procedure Doc;
Var i,j:byte; f:text;
Begin
Assign(f,fi);
Reset(f);
Readln(f,N,P,Q);
3
For i:= 1 to N do
Begin
For j:=1 to N do
Begin
Read(f,A[i,j]);
if A[i,j] = 0 then A[i,j]:= vc;
End;
Readln(f);
End;
Close(f);
Fillchar(L,sizeof(L),0);
End;
Procedure xl;
Var i,j,k:Byte;
Begin
For i:=1 to N do
For j:=i+1 to N do
For k:=1 to N do
If (A[i,k] < vc) and (A[k,j] < vc) then
If A[i,k] + A[k,j] < A[i,j] then
Begin
A[i,j]:=A[i,k] + A[k,j];
A[j,i]:=A[i,j];
L[i,j]:=k;
L[j,i]:=k;
End;
End;
Procedure Lay(i,j:Byte);
Begin
if L[i,j] = 0 then
Begin
inc(Top);
B[Top]:=j;
End
Else
Begin
Lay(i,L[i,j]);
Lay(L[i,j],j);
End;
End;
Procedure xuat;
Var i:Byte;f:text;
Begin
Assign(f,fo);
Rewrite(f);
if A[P,Q] < vc then
Begin
Top:=0;
Lay(P,Q);
Writeln(f,A[P,Q]);
Write(f,P, ' ');
For i:= 1 to Top do
Write(f,B[i], ' ');
End
Else
Writeln(f,-1);
Close(f);
End;
BEGIN
Doc;
xl;
4
xuat
END.
C©u 3 (3,5 ®iÓm): Thêi ®iÓm gÆp mÆt
{$R+,B+,Q+}
const fi='gapmat.in2';
fo='gapmat.out';
type arr1 = array[0..32677] of word;
var a,b:^arr1;
f,g:text;
max,i,j,n,m:longint;
x,y,vt:word;
BEGIN
new(a);
new(b);
assign(f,fi);
reset(f);
readln(f,n);
for i:= 0 to 32000 do
begin
b^[i]:=0;
a^[i]:=0;
end;
for i:= 1 to n do
begin
readln(f,x,y);
a^[x]:=a^[x]+1;
b^[y]:=b^[y]+1;
end;
close(f);
max:=0;
m:=0;
for i:= 1 to 32000 do
begin
m:=m+a^[i]-b^[i-1];
if m>max then
begin
max:=m;
vt:=i ;
end;
end;
assign(g,fo);
rewrite(g);
writeln(g,max,' ',vt);
close(g);
dispose(a);
dispose(b);
END.
5
... DụC Và ĐàO TạO QUảNG BìNH Hớng dẫn chấm kỳ thi CHọN học sinh giỏi lớp 11 năm học 2008-2009 môn: tin học KHốI CHUYÊN I- Phơng pháp: - Giám khảo tạo liệu vào, tính toán kết Thực chơng trình học sinh. .. nhiều lộ trình cho độ dài đờng ngắn Nếu học sinh đa phơng án khác với đáp án nhng giám khảo cho điểm tối đa - Đối với câu 3: + Nếu học sinh đa đợc số lợng học sinh lớn thời điểm giáo viên đến, giám... nhiều thời điểm giáo viên đến mà cho kết số lợng học sinh lớn Nếu học sinh đa phơng án khác với đáp án nhng giám khảo cho điểm tối đa + Số lợng liệu vào có không gian lớn 40%, (N>16000) II- Chơng
Ngày đăng: 13/10/2015, 16:15
Xem thêm: Download đề và đáp án thi học sinh giỏi môn tin học lớp 11, 2008 2009 tỉnh quảng bình (khối chuyên) , Download đề và đáp án thi học sinh giỏi môn tin học lớp 11, 2008 2009 tỉnh quảng bình (khối chuyên)