1. Trang chủ
  2. » Giáo án - Bài giảng

Đề thi HSG Tin 8-9

4 699 14
Tài liệu đã được kiểm tra trùng lặp

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đề Thi HSG Tin 8-9
Trường học Sở Giáo Dục Đào Tạo
Chuyên ngành Tin học
Thể loại Đề thi
Năm xuất bản 2008-2009
Định dạng
Số trang 4
Dung lượng 56 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Sở Giáo Dục Đào Tạo Tổngquan Kì Thi Chọn HsG LớP 9 thcs Năm Học 2008-2009 Đề thi môn :Tin học Thời gian 150 phút không kể thời gian giao đề Đề thi gồm 2 trang Tên bài Tên fie chơng trì

Trang 1

Sở Giáo Dục Đào Tạo

Tổngquan

Kì Thi Chọn HsG LớP 9 thcs Năm Học 2008-2009

Đề thi môn :Tin học

(Thời gian 150 phút không kể thời gian giao đề)

(Đề thi gồm 2 trang )

Tên bài Tên fie chơng trình Tên file dữ liệu Tênfile kết quả thời gian

Lập trình giải các bài toán sau:

Bài 1: Xếp diêm (4 điểm)

Với các que diêm có thể xếp đợc các số nguyên không âm, các chữ số thập phân có cách xếp nh hình vẽ

Bờm có N que diêm và muốn xếp diêm thành bộ số chỉ giờ dạng hh:mm:ss( chuẩn 24 giờ ) sao cho dùng hết

đúng N que diêm và thời điểm biểu diễn đợc là muộn nhất trong ngày

Dữ liệu (file hms.inp) : Ghi duy nhất số nguyên N (1=<n<=42)

Kết quả (file hms.out): Ghi thời điểm biểu diễn đợc theo định dạng hh:mm: ss(ghi số -1 nếu không có cách sắp sếp )

Ví dụ:

Bài 2:Chu kì xâu(4 điểm )

Một xâu P đợc gọi là tiền tố của xâu A nếu tồn tại xâu B sao cho xâu PB (ghép B vào sau P) bằng xâu A Một tiền tố P của A đợc gọi là tiền tố thực sự nếu P≠p P≠A

Xâu Q đợc gọi là xâu chu kì của xâu A nếu Q là một tiền tố thực sự cáu A và A là tiền tố của xâu QQ.Chẳng

hạn abab và ababab là hai xâu chu kì của xâu abababa.Chu kì cực đại của A là xâu vhu kì dài nhất của hoặc xâu rỗng nếu A không có sâu chu kì

cho một xâu S chỉ gồm các chữ cái ‘a’ ’z’ hãy tính tổng dộ dài chu kì cực đại của tất cả các tiền tố của S

Dữ liệu (cyc.inp)

- Dòng 1 số nguyên N( 1<=N<=250 ) - đọ dài của xâu S

- Dòng 2 xâu S

Kết quả (cyc.out):

- Dòng 1: số nguyên kết quả

- Ví dụ:

8 babababa

24

Giải thích ví dụ:

Bài 3: Hoán vị có điều kiện ( 2 điểm)

Hoán vị của N sốnguyên dơng dầu tiên là dãy A =( a1 a2 a3 , , an) trong đó mỗi số nguyên 1,2, ,n dều xuất

hiện đúng một lần Một dẫycon của A là dãy nhận đơc sau khi loại bỏ 0,1,2, phần tử của A và dữ nguyên phần còn lại

xét N= 4 và A=(1,4,3,2) Độ dài của dãy con tăng dài nhất của A là 2 A có 3 dãy con tăng độ dài là 2 là(1,4 ), (1,3); (1,2).Dộ dài của dãy con giảm dài nhất của A là 3 A chỉ có 1 dãy con giảm dài nhất là 3 (4,3,2)

Cho N và hai số nguyên P.Q ,hãy sxác định hoán vị của N số nguyên dơng đàu tiên có thứ tự từ điển nhỏ nhất thỏa mãn độ dài của dãy con tăng dài nhất , độ dài của dãy con giảm dài nhất của hoán vị đó tơng ứng là P và

Q

Dữ liệu (per.inp)

đề chính thức

Trang 2

- Dòng 1: 3 số nguyên N, P,Q( 1<=N,P,Q <=30000 ) dữ liệu đảm bảo có nghiệm

- Dòng 2 xâu S

Kết quả (per.out):

- Dòng 1: N số nguyên là hoán vị thỏa mãn đề bài

- Ví dụ:

Giải thích ví dụ:

Còn có các hoán vị khác, chẳng hạn (2,4,3,1) cũng thỏa mãn độ dài dãy con tăng dài nhất bằng 2 , độ dài dãy con giảm dài nhất bằng 3 nhng hoán vị (1,4,3,2) có thứ tự từ điển nhỏ nhất

Hết

Cán bộ coi thi không giải thích gì thêm const f:array[0 9]of byte=(6,2,5,5,4,5,6,3,7,6);

fo='hms.inp';

go='hms.out';

var i:array[1 6]of byte;

n,j:byte;

f1,g:text;

s:array[1 6]of string;

s1,max:string;

t1:longint;

t2:longint absolute $00:$46c;

begin

t1:=t2;

assign(f1,fo);reset(f1);

assign(g,go);rewrite(g);

readln(f1,n);

if n<12 then write(g,-1)

else

begin

max:='';

for i[1]:=0 to 9 do for i[2]:=0 to 9 do for i[3]:=0 to 9 do

for i[4]:=0 to 9 do

for i[5]:=0 to 9 do for i[6]:=0 to 9 do

begin

s1:='';

for j:=1 to 6 do

begin

str(i[j],s[j]);

s1:=s1+s[j];

end;

if (f[i[1]]+f[i[2]]+f[i[3]]+f[i[4]]+f[i[5]]+f[i[6]]=n)and(max<s1)

and(s1[1]+s1[2]<='24')and(s1[3]+s1[4]<='60')and(s1[5]+s1[6]<='60') then max:=s1;

end;

if max='' then write(g,-1)

else write(g,max[1],max[2],':',max[3],max[4],':',max[5],max[6]);

end;

writeln(g);

write(g,(t2-t1)/18.2:0:9);

close(f1);close(g);

end.

{bai 3 thi hsg 2009}

const fo='per.inp';

go='per.out';

var d,i,p,q,n:longint;

f,g:text;

begin

assign(f,fo);reset(f);

Trang 3

assign(g,go);rewrite(g);

readln(f,n,p,q);

if p+q-1= n then

begin

for i:=1 to n-q do

begin

write(g,i,' ');

if i mod 255 =0 then writeln(g); end;

for I:=n downto n-q+1 do

begin

write(g,i,' '); inc(d);

if d mod 255 =0 then writeln(g); end;

end;

close(f);close(g);

end.

const fo='per.inp';

go='per.out';

var i,n,p,q:longint;

kt:boolean;

f,g:text;

a,b,c:array[1 10000]of integer; procedure xuat;

var max1,max2,j:integer;

begin

max1:=0;max2:=0;

c[1]:=1;

for i:=2 to n do

begin

c[i]:=1;

for j:=1 to i-1 do

if a[i]>a[j] then c[i]:=c[j]+1;

if max1<c[i] then max1:=c[i];

end;

c[n]:=1;

for i:=n downto 1 do

begin

c[i]:=1;

for j:=n downto i+1 do

if a[i]>a[j] then c[i]:=c[j]+1;

if max2<c[i] then max2:=c[i];

end;

if (max1=p)and(max2=q) then

begin

for i:=1 to n do write(g,a[i],' ');

kt:=true;

end;

end;

procedure thu(i:integer);

var j:integer;

begin

if (i>n) then xuat

else

begin

if kt then exit

else

begin

for j:=1 to n do

if (b[j]=0) then

begin;

a[i]:=j;

b[j]:=1;

thu(i+1);

b[j]:=0;

Trang 4

end;

end;

end;

end;

begin

assign(f,fo);reset(f); assign(g,go);rewrite(g); readln(f,n,p,q); kt:=false;

thu(1);

close(f);close(g); end.

Ngày đăng: 04/11/2013, 13:11

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w