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)

5 249 1
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)

Đang tải... (xem toàn văn)

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

Từ khóa liên quan

Mục lục

  • Sở GIáO DụC Và ĐàO TạO QUảNG BìNH

  • môn: tin học KHốI CHUYÊN

  • Đề chính thức

  • Thời gian 180 phút, không kể thời gian giao đề

  • Câu 1 (3,0 điểm): Tìm kí tự KITU.PAS

  • Câu 3 (3,5 điểm): Thời điểm gặp mặt GAPMAT.PAS

  • Sở GIáO DụC Và ĐàO TạO QUảNG BìNH

  • môn: tin học KHốI CHUYÊN

  • Hướng dẫn chấm

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan