së gi¸o dôc - ®µo t¹o Qu¶ng b×nh kú thi chän häc sinh giái líp 12 n¨m häc 2006-2007 §Ò chÝnh thøc - m«n : tin häc (vßng 1) SBD: Thêi gian lµm bµi: 180 phót. §Ò ra C©u 1: (3,0 ®iÓm) M· ho¸ (tªn file bµi lµm MAHOA.PAS) §Ó m· ho¸ mét v¨n b¶n gåm toµn ch÷ c¸i tõ “A”..“Z” vµ “a”..“z”, ngêi ta cã thÓ lµm nh sau: XÕp b¶ng ch÷ c¸i theo vßng trßn, sau ®ã thay mçi kÝ tù b»ng kÝ tù ®øng sau nã N vÞ trÝ trong b¶ng vßng trßn. VÝ dô: Víi N = 7 th× ‘anh’ ®îc m· ho¸ thµnh ‘huo’. Cho mét x©u ký tù S1 cÇn m· ho¸ vµ mét x©u ®· ®îc m· ho¸ S2 Yªu cÇu: M· ho¸ x©u kÝ tù S1 vµ gi¶i m· x©u kÝ tù S2. D÷ liÖu vµo: Cho trong file v¨n b¶n MAHOA.INP, cã cÊu tróc nh sau: Dßng 1: Ghi sè nguyªn N (1 ≤ N ≤ 100). Dßng 2: Ghi x©u S1 (S1 kh«ng qu¸ 255 ký tù) Dßng 3: Ghi x©u S2 (S2 kh«ng qu¸ 255 ký tù) D÷ liÖu ra: Ghi ra file v¨n b¶n MAHOA.OUT, theo cÊu tróc nh sau: Dßng 1: Ghi x©u m· ho¸ cña x©u S1 Dßng 2: Ghi x©u gi¶i m· cña x©u S2 VÝ dô: Mahoa.INP Mahoa.out 3 Dqk Anh xYz aBc C©u 2: (3,5 ®iÓm) §a gi¸c (tªn file bµi lµm DAGIAC.PAS) Cho N ®a gi¸c låi, ®îc ®¸nh sè tõ 1..N, tho¶ m·n tÝnh chÊt: Víi 2 ®a gi¸c bÊt kú lu«n cã mét ®a gi¸c mµ mäi ®iÓm cña nã n»m trong ®a gi¸c kia vµ c¸c c¹nh cña chóng kh«ng cã ®iÓm chung. Yªu cÇu: Víi mçi ®a gi¸c i, h·y x¸c ®Þnh cã bao nhiªu ®a gi¸c bao nã? D÷ liÖu vµo: Cho trong file v¨n b¶n DAGIAC.INP, cã cÊu tróc nh sau: Dßng 1: Ghi sè nguyªn N (3 ≤ N ≤ 1000). N dßng tiÕp theo: Dßng thø i + 1 ghi th«ng tin vÒ ®a gi¸c thø i. Bao gåm sè ®Çu tiªn Si lµ sè ®Ønh cña ®a gi¸c (Si ≥ 3); Si cÆp sè nguyªn tiÕp theo (Xi Yi) lÇn lît lµ hoµnh ®é vµ tung ®é c¸c ®Ønh cña ®a gi¸c (-32767 ≤ Xi, Yi ≤ 32767). C¸c sè trªn cïng mét dßng ®î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 DAGIAC.OUT Gåm N dßng, dßng thø i: Ghi sè lîng ®a gi¸c bao ®a gi¸c thø i. 1 VÝ dô: 4 4 4 4 3 DAGIAC.INP 1 9 3 8 1 3 2 4 15 1 15 8 1 8 9 6 4 6 4 3 11 2 11 7 3 7 8 5 6 5 DAGIAC.OUT 0 2 1 3 C©u 3: (3,5 ®iÓm) D·y con (tªn file bµi lµm DAYCON.PAS) Cho mét d·y sè nguyªn a1, a2,..., an. Khi xo¸ mét sè phÇn tö cña d·y vµ gi÷ nguyªn thø tù cña c¸c phÇn tö cßn l¹i ta ®îc mét d·y gäi lµ d·y con cña d·y ®· cho. Mét d·y con a1, a2,..., ak ®îc gäi lµ t¨ng dÇn nÕu ai26 then khoa:=khoa mod 26; for i:=1 to length(s1) do if s1[i] in ['A'..'Z'] then s1[i]:=chr((((ord(s1[i])-39)+khoa)mod 26)+65) else if s1[i] in ['a'..'z'] then s1[i]:=chr((((ord(s1[i])-71)+khoa)mod 26)+97); for i:=1 to length(s2) do if s2[i] in ['A'..'Z'] then s2[i]:=chr((((ord(s2[i])-39)-khoa)mod 26)+65) else if s2[i] in ['a'..'z'] then s2[i]:=chr((((ord(s2[i])-71)-khoa)mod 26)+97); end; procedure xuatdl; var f:text; begin assign(f,fo); rewrite(f); writeln(f,s1); writeln(f,s2); close(f); end; begin docdl; 3 xuli; xuatdl; end. C©u 2: DAGIAC.PAS const fi = 'dagiac.in1'; fo = 'dagiac.out'; Max = 10000; type mang = array[1..Max] of integer; var a, vt, kq : mang; var n : integer; procedure chuanbi; begin assign(input,fi); reset(input); assign(output,fo); rewrite(output); end; procedure nhap; var i, j, min, k, x, y : integer; begin read(n); for i := 1 to n do begin read(k); min := maxint; for j := 1 to k do begin read(x,y); if x < min then min := x; end; a[i] := min; vt[i] := i; end; end; procedure Sort(l, r: Integer); var i, j, x, y: integer; begin i := l; j := r; x := a[(l+r) DIV 2]; repeat while a[i] < x do i := i + 1; while x < a[j] do j := j - 1; if i j; if i < r then Sort(i, r); end; procedure xuli; var i : integer; begin Sort(1,n); for i := 1 to n do kq[vt[i]] := i - 1; for i := 1 to n do writeln(kq[i]); end; procedure xulikt; begin close(input); 4 close(output) end; begin chuanbi; nhap; xuli; xulikt; end. C©u 3 : DAYCON.PAS {$r+} const max=10000; fi='daycon.inp'; fo='daycon.out'; var a,t,l:array[0..max+1]of integer; n:word; procedure docfile; var f:text; i:integer; begin assign(f,fi); reset(f); readln(f,n); for i:=1 to n do read(f,a[i]); close(f); end; procedure qh; var j,i,jmax:integer; begin a[0]:=-32768; a[n+1]:=32767; l[n+1]:=1; for i:=n downto 0 do begin jmax:=n+1; for j:=i+1 to n+1 do if (l[jmax] ... Daycon.out 6 10 Hết Hớng dẫn chấm đề thi thức học sinh giỏi lớp 12 năm học 2006-2007 I/ Phơng pháp chung - Giám khảo tạo liệu vào, tính toán kết Chạy chơng trình học sinh so sánh kết - Giám khảo sử dụng... đợc test - Nếu chơng trình chạy sai test giám khảo cho điểm test - Bài toán có nhiều kết đúng, kết học sinh khác với đáp án nhng giám khảo cho điểm tối đa II/ Chơng trình gợi ý: Câu 1: MAHOA.PAS... sinh so sánh kết - Giám khảo sử dụng chơng trình gợi ý để tính kết liệu vào: MAHOA.PAS DAGIAC.PAS DAYCON.PAS - Chơng trình học sinh chạy test, giám khảo cho 0,5 điểm Nh vậy, câu hỏi có 3,0 điểm giám