Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Trung học phổ thông Lớp 11 đề thi học sinh giỏi môn tin lớp 12...

Tài liệu đề thi học sinh giỏi môn tin lớp 12

.DOC
13
270
144

Mô tả:

Vßng 1 C©u 1: (3 ®iÓm) Ph©n tÝch sè. Tªn file bµi lµm: SO.PAS H·y ph©n tÝch sè nguyªn d¬ng N thµnh tæng c¸c sè nguyªn d¬ng kh¸c nhau sao cho tÝch cña chóng lµ lín nhÊt. D÷ liÖu vµo: Cho trong file SO.INP cã cÊu tróc nh sau: Dßng 1: Ghi sè N (1i+1 do begin a[i]:=i+1; n:=n-(i+1); i:=i+1; end; spt:=i-1; while n>0 do begin i:=spt; while (n>0) and (i>=1) do begin a[i]:=a[i]+1;n:=n-1;i:=i-1;end; end; end; procedure xuat; var f:text; i:word; tich:longint; begin assign(f,fo);rewrite(f); writeln(f,spt); for i:=1 to spt do write(f,a[i],' '); close(f); end; begin doc; xl; xuat; {readln;} end. DAYSO.PAS {$r+} const fi='dayso.in7'; fo='dayso.ou7'; type mmc=array[0..10001] of integer; var a,mcl,mlc:mmc; n:word; procedure doc; var f:text; i:word; begin assign(f,fi);reset(f);readln(f,n); for i:=1 to n do read(f,a[i]); close(f); end; procedure xl; var i,lc,cl:word; f:text; begin lc:=0;cl:=0; for i:=1 to n do begin if (i mod 2=0) and (a[i] mod 2<>0) then begin lc:=lc+1; mlc[lc]:=i; if (i mod 2<>0) and (a[i] mod 2=0) then begin cl:=cl+1; mcl[cl]:=i; end; assign(f,fo);rewrite(f); if lc=cl then begin writeln(f,cl); for i:=1 to cl do writeln(f,mcl[i],' ',mlc[i]); end else writeln(f,-1); close(f); end; begin doc; xl; end. end; end; TICK.PAS const maxn=100; fi='tick.in8'; fo='tick.ou8'; type mmc=array[1..maxn] of word; var r,t,c:mmc;s:word; n:word;f:text; procedure doc; var i:word; begin assign(f,fi);reset(f); readln(f,n); for i:=1 to n do read(f,t[i]); readln(f); for i:=1 to n-1 do read(f,r[i]); close(f); end; function min(a,b:word):word; begin if a2 do if s=c[i-1]+t[i] then begin write(f,i,' '); i:=i-1;s:=c[i]; else begin write(f,i-1,' '); i:=i-2;s:=c[i]; write(f,1); close(f); end; begin doc; xl; xuat; {readln;} end. III/ Mét sè test gîi ý. SO.PAS SO.IN 10 3 2 3 20 4 3 4 30 6 2 3 100 12 2 3 111 13 2 3 15 4 2 3 end end; SO.OU 5 6 7 4 6 7 8 5 6 7 8 9 10 11 12 13 14 4 5 6 7 9 10 11 12 13 14 15 4 6 DAYSO.PAS DAYSO.IN 12 5 -3 7 5 3 4 6 4 2 1 2 2 12 4 3 7 5 3 4 6 4 2 1 2 2 8 1 2 3 10 9 8 7 6 8 8 8 8 8 8 8 8 8 8 3 72 94 11 10 -1 0 -1 -1 DAYSO.OU 1 1 1 1 1 1 1 1 6 1 5 6 2 3 1 2 34 2 1 2 1 12 Gi¸m kh¶o lu ý khi sö dông c¸c test ®Ó chÊm bµi + Sè phÐp ®æi chç cña häc sinh b¾t buéc ph¶i gièng ®¸p ¸n. + Tr×nh tù ®æi chç cã thÓ cã nhiÒu c¸ch kh¸c nhau TICK.PAS 20 4 5 8 3 3 3 2 1 2 10 8 9 1 1 12 4 6 8 3 10 2 2 2 2 5 1 2 5 4 5 1 2 1 2 TICK.IN 7 4 3 1 4 5 6 3 8 6 2 7 8 5 3 4 6 7 4 5 2 6 7 8 6 6 7 3 2 5 6 8 7 9 10 1 6 7 4 5 2 3 1 1 3 2 5 4 7 6 8 6 2 7 8 5 3 4 6 7 12 4 5 2 6 7 8 6 8 9 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 4 5 3 2 3 4 5 3 4 TICK.OU 58 19 18 17 15 13 11 9 7 6 4 2 1 2 31 16 10 9 8 7 5 3 1 33 11 9 7 5 4 2 1 10 97531 7 421 7 421 Gi¸m kh¶o lu ý khi sö dông c¸c test ®Ó chÊm bµi + Tæng thêi gian b¸n vÐ cña häc sinh b¾t buéc ph¶i gièng ®¸p ¸n. + Tªn cña ngêi ë l¹i trong hµng cã thÓ cã nhiÒu c¸ch kh¸c nhau Vßng 2 C©u 1: (3.5 ®iÓm) Chia b¸nh. Tªn file bµi lµm: CAKE.PAS Trong buæi tèi trung thu cã mét c¸i b¸nh h×nh trßn. B¸nh ®îc viÒn quanh bëi N qu¶ d©u vµ qu¶ sim (1b do begin if a>b then a:=a-b else b:=b-a; ucln:=a; end; procedure xl; var u,i:word; begin u:=a[1]; end; for i:=2 to k do u:=ucln(u,a[i]); assign(f,fo);rewrite(f);write(f,u);close(f); end; begin doc;xl;end. LICH.PAS const max = 1000; fi = 'Lich.in7'; fo = 'Lich.ou7'; type m1 = array[1..2,1..max] of real; mkq = array[1..max] of byte; mdx = array[1..max] of boolean; var a: m1; kq : mkq; {phuong an xep lich} dx : mdx; {mang danh dau chi tiet} n : byte; g : text; lmin:real; procedure doc_inp; var f:text; i:integer; begin assign(f,fi);reset(f); readln(f,n); for i:=1 to n do read(f,a[1,i]); for i:=1 to n do read(f,a[2,i]); close(f); end; function chitietmin(var may: byte): byte; var i,j,chitiet:word; begin lmin := maxint; for i:=1 to 2 do for j:=n downto 1 do if not dx[j] then if (a[i,j]b then max2:=a else max2:=b; end; procedure tinh; var i,j : byte; t1,t2 : real; begin t1:=0; t2:=0; for i:=1 to n do begin t1 := t1 + a[1,kq[i]]; t2 := max2(t1,t2)+a[2,kq[i]]; end; writeln(g,t2:0:0); end; BEGIN doc_inp; john; assign(g,fo); rewrite(g); tinh; hien; close(g); END. III/ Mét sè test gîi ý. CAKE.PAS CAKE.IN 10 DDSDDDSDSS 20 SSDDDDSSDSSSDSDSDDSD 30 SDSDDDDDSSSSDDDSDDDDSSDDDSSSDD 10 SSSSSSDDDD 16 DDDDDDDDDDDDDDDD 4 DSSD 4 SDDS 3 7 CAKE.OU 1 10 1 15 4 8 1 8 1 2 1 2 Gi¸m kh¶o lu ý khi sö dông c¸c test ®Ó chÊm bµi: Cã thÓ cã nhiÒu c¸ch c¾t ®óng kh¸c nhau. Trªn ®©y chØ ®a ra mét c¸ch c¾t dóng PASS.PAS PASS.IN 10 25 35 75 5 20 40 50 125 55 45 20 3874 33314 49912 37822 14374 39488 24048 41264 25178 52384 34534 56834 35916 28756 34526 25506 21342 61186 57498 48510 30 1611 9 129 9 27 195 825 54 279 192 93 552 840 2790 72 45 2808 228 99 45 225 90 903 270 621 426 2604 522 18 99 8 18 2160 2007 9900 3636 1278 954 5454 2 1 65535 10 1 1 1 1 1 1 1 1 1 1 10 25 25 25 25 25 25 25 25 25 25 LICH.PAS LICH.IN LICH.OU 5 26 3 4 6 5 6 1 4 2 5 3 3 3 2 7 3 10 56 PASS.OU 5 2 3 9 1 1 25 3 4 6 5 6 7 6 5 4 8 1 9 8 4 7 6 10 2 5 3 3 3 2 7 3 8 7 5 7 4 15 76 3 4 6 5 6 4 6 3 2 6 7 8 7 5 3 9 8 1 6 4 10 7 11 12 2 5 13 3 14 15 3 3 2 7 3 8 7 3 2 6 7 5 3 2 1 2 4 1 2 1 2 2 1 2 5 1 2 1 2 1 2 10 46 6 5 3 4 5 4 1 6 5 6 7 3 4 10 8 5 6 9 2 1 1 2 4 5 3 3 2 7 3 8 Gi¸m kh¶o lu ý khi sö dông c¸c test ®Ó chÊm bµi + Tæng thêi gian Ýt nhÊt ®Ó hoµn thµnh gia c«ng N chi tiÕt ph¶i gièng ®¸p ¸n. + Tr×nh tù gia c«ng cã thÓ cã nhiÒu c¸ch kh¸c nhau. §Ò thi dù bÞ Vßng 1 C©u 1: (3 ®iÓm) Luü thõa. Tªn file bµi lµm: LT.PAS ViÕt ch¬ng tr×nh tÝnh 2n víi n ch¹y tõ 1 ®Õn 96. KÕt qu¶ ®Æt trong file LT.TXT cã cÊu tróc nh sau: N dßng: Dßng thø i ghi gi¸ trÞ tÝnh ®îc cña 2i C©u 2: (3.5 ®iÓm) Ho¸n vÞ nhá nhÊt. Tªn file bµi lµm: PER.PAS Cho a lµ mét ho¸n vÞ cña c¸c sè tù nhiªn 1..N (3<=N<=50). T×m ho¸n vÞ nhá nhÊt b cña 1..N tho¶ m·n ®iÒu kiÖn: §é lÖch cña c¸c phÇn tö t¬ng øng gi÷a a vµ b lµ kh«ng qu¸ 1 ®¬n vÞ. D÷ liÖu vµo: Cho trong file PER.INP cã cÊu tróc nh sau: Dßng 1: Ghi sè N. Dßng 2: Ghi N sè xi (1<=xi<=N) lµ ho¸n vÞ cña c¸c sè tù nhiªn tõ 1 ®Õn N. C¸c sè ghi c¸ch nhau Ýt nhÊt mét dÊu c¸ch. D÷ liÖu ra: Ghi ra file PER.OUT theo cÊu tróc nh sau: Dßng 1: Ghi N sè yi (1<=yi<=N) lµ ho¸n vÞ nhá nhÊt b t×m ®îc. C¸c sè ghi c¸ch nhau Ýt nhÊt mét dÊu c¸ch. VÝ dô PER.INP PER.OUT 8 6 4 7 8 5 1 2 3 7 5 6 8 4 1 3 2 C©u 3: (3.5 ®iÓm) M· Gray. Tªn file bµi lµm: GRAY.PAS M· Gray G(N) cña mét sè tù nhiªn N lµ mét sè tù nhiªn P ®îc x¸c ®Þnh nh sau: -ViÕt N díi d¹ng nhÞ ph©n C. -DÞch C sang ph¶i 1 bÝt. (Bá bÝt ®Çu ph¶i, thªm bÝt 0 vµo ®Çu tr¸i). -Gäi sè thu ®îc lµ D. -Thùc hiÖn phÐp XOR theo bÝt gi÷a C vµ D ®Ó thu ®îc sè nhÞ ph©n K. -ChuyÓn K sang d¹ng thËp ph©n ®Ó thu ®îc sè P. Khi ®ã ta cã: G(N)=P (PhÐp XOR gi÷a hai bÝt a vµ b cho ta gi¸ trÞ 0 nÕu 2 bÝt gièng nhau, cho ta gi¸ trÞ 1 nÕu 2 bÝt kh¸c nhau) Yªu cÇu: TÝnh N khi biÕt P. (0<=P<=2000000000) D÷ liÖu vµo: Cho trong file GRAY.INP cã cÊu tróc nh sau: Dßng 1: Ghi sè P. D÷ liÖu ra: Ghi ra file GRAY.OUT theo cÊu tróc nh sau: Dßng 1: Ghi sè N. VÝ dô GRAY.INP GRAY.OUT 4 7 Vßng 2 C©u 1: (5 ®iÓm) S¾p ®«i. Tªn file bµi lµm: PAR.PAS Cho hai d·y sè nguyªn d¬ng a1, a2,...an vµ b1, b2,...bn (0= min {(bj ,ai )} D÷ liÖu vµo: Cho trong file PAR.INP cã cÊu tróc nh sau: Dßng 1: Ghi sè n. Dßng 2: Ghi n sè ai cña d·y thø nhÊt. C¸c sè ghi c¸ch nhau Ýt nhÊt mét dÊu c¸ch. Dßng 2: Ghi n sè bi cña d·y thø hai. C¸c sè ghi c¸ch nhau Ýt nhÊt mét dÊu c¸ch. D÷ liÖu ra: Ghi ra file PAR.OUT theo cÊu tróc nh sau: Dßng 1: Ghi n sè lµ chØ sè cña c¸c cÆp theo thø tù sau khi s¾p. PAR.INP PAR.OUT 4 1342 3 4 8 10 6 2 9 15 Chó ý: Cã thÓ cã nhiÒu c¸ch s¾p xÕp, chØ cÇn ®a ra mét c¸ch s¾p ®óng. C©u 2: (5 ®iÓm) NghÞch thÕ. Tªn file bµi lµm: NTHE.PAS Gi¶ sö P=(p1,p2,...,pn) lµ mét ho¸n vÞ cña 1,2,..,n. B¶ng nghÞch thÕ cña ho¸n vÞ P lµ d·y T=(t1,t2,...,tn) trong ®ã ti lµ sè c¸c phÇn tö cña ho¸n vÞ P ®øng bªn tr¸i i vµ lín h¬n i. Yªu cÇu: Cho b¶ng nghÞch thÕ T, h·y x©y dùng l¹i ho¸n vÞ P t¬ng øng. D÷ liÖu vµo: Cho trong file NTHE.INP cã cÊu tróc nh sau: Dßng 1: Ghi sè n (n<1001) Dßng 2: Ghi n sè nguyªn ti lµ b¶ng nghÞch thÕ cña ho¸n vÞ P. D÷ liÖu ra: Ghi ra file NTHE.OUT cã cÊu tróc nh sau: Dßng 1: Ghi n sè nguyªn pi lµ ho¸n vÞ P t¬ng øng t×m ®îc. VÝ dô: NTHE.INP 2 3 6 4 0 2 2 1 0 NTHE.OUT 5 9 1 8 2 6 4 7 3 C©u 3: (3.5 ®iÓm) Thêi ®iÓm gÆp mÆt. Tªn file bµi lµm: MEETING.PAS Mét nhãm gåm N häc sinh (N nguyªn d¬ng, N < 1001) tham gia mét c©u l¹c bé Tin häc. BiÕt thêi gian mµ häc sinh i cã mÆt t¹i c©u l¹c bé lµ [a i , bi] (ai < bi; 0<= ai , bi <=32767). C« gi¸o chñ nhiÖm c©u l¹c bé muèn tíi th¨m c¸c häc sinh trong nhãm. H·y gióp c« gi¸o chñ nhiÖm x¸c ®Þnh thêi ®iÓm ®Õn c©u l¹c bé ®Ó gÆp ®îc nhiÒu häc sinh trong nhãm nhÊt. D÷ liÖu vµo: Cho trong file MEETING.INP cã cÊu tróc nh sau: Dßng 1: Ghi sè N lµ sè lîng häc sinh trong nhãm. N dßng tiÕp theo: Mçi dßng ghi 2 sè nguyªn kh«ng ©m a i bi c¸ch nhau Ýt nhÊt mét dÊu c¸ch. D÷ liÖu ra: Ghi ra file MEETING.OUT theo cÊu tróc nh sau: Dßng 1: Ghi sè nguyªn d¬ng K lµ sè lîng häc sinh cã mÆt t¹i c©u l¹c bé khi c« ®Õn. K dßng tiÕp theo: Mçi dßng ghi chØ sè cña 1 häc sinh cã mÆt t¹i c©u l¹c bé khi c« ®Õn. VÝ dô: MEETING.INP MEETING.OUT MEETING.INP MEETING.OUT 6 3 5 1 1 2 1 1 2 1 2 3 2 3 5 2 5 3 7 9 5 7 11 15 6 7 17 21 9 11 131 31313131313131313131313131313131313131313131313131313131313131313131313 13131313131313131313131313131313131313131313131313131313131313131313131 3131313131313
- Xem thêm -