Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (159.39 KB, 5 trang )
<span class='text_page_counter'>(1)</span>SỞ GD&ĐT NGHỆ AN Đề chính thức (Đề thi có 03 trang) Bài 1. (4,5 ®iÓm). KỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNH LỚP 12 NĂM HỌC 2010 – 2011 Môn thi: TIN HỌC LỚP 12 THPT - BẢNG A Thời gian làm bài: 180 phút Ph©n tÝch sè. Víi sè nguyªn d¬ng x, gäi f(x,k) lµ sè c¸ch ph©n tÝch sè x thµnh tæng c¸c sè nguyªn tè mµ mçi sè nguyªn tè cã trong tæng kh«ng qu¸ k lÇn. vÝ dô f(12,3) =5 v× cã 5 c¸ch ph©n tÝch: 12 = 2 + 2 + 2 + 3 + 3; 12 = 2 + 2 + 3 + 5; 12 = 2 + 3 + 7; 12 = 2 + 5 + 5; 12 = 5 + 7 f(12,1) =2 v× cã 2 c¸ch ph©n tÝch 12 = 2 + 3 + 7; 12 = 5 + 7 Cho mét d·y sè nguyªn d¬ng a1,a2,…,aN vµ sè nguyªn d¬ng k( 1≤ N,k ≤ 100). H·y tÝnh c¸c f(ai,k) (víi mäi i=1,2,…,N). D÷ liÖu vµo: Tõ file v¨n b¶n PTS.INP. cã cÊu tróc nh sau: Dßng ®Çu tiªn ghi 2 sè nguyªn d¬ng theo thø tù N, k. Dßng thø 2 ghi N sè nguyªn d¬ng a1, a2,…, aN.( 1 < aI ≤ 100) KÕt qu¶: Ghi ra file v¨n b¶n PTS.OUT, gåm N sè nguyªn viÕt trªn mét dßng, sè thø i lµ f(ai,k). C¶ 2 file d÷ liÖu thø tù c¸c sè trªn mét dßng tÝnh tõ tr¸i qua ph¶i vµ c¸ch nhau mét dÊu c¸ch. VÝ dô: PTS.INP PTS.OUT 5 6 12 3 4 35 414 15 8 9 23 47 Bµi 2. (5,5 ®iÓm). M· Sè. Để tiện trong công tác quản lý, một công ty đã gắn mã số cho các nhân viên cña m×nh. M· sè cña mçi nh©n viªn bao gåm b¶y ch÷ sè( gäi lµ phÇn ®Çu cña m· nhân viên) và một chữ cái in hoa nối phía sau. Chữ cái này đợc tính toán từ bảy chữ sè phÇn ®Çu cña m· theo c¸c bíc nh sau: 1. Chữ số thứ I đợc gắn một số nguyên dơng aI đợc gọi là trọng lợng của nã( thø tù c¸c ch÷ sè trong phÇn ®Çu cña m· tÝnh tõ tr¸i qua ph¶i). Ngêi ta lÊy lÇn lît c¸c ch÷ sè trong m· nh©n víi träng lîng t¬ng øng cña nã. 2.Céng tÊt c¶ c¸c kÕt qu¶. 3. T×m sè d cña phÐp chia tæng trªn cho sè nguyªn d¬ng K ( 1≤ K ≤ 11) 4. Mỗi số d tơng ứng với một chữ cái in hoa. Chữ cái in hoa tơng ứng tìm đợc lµ ch÷ c¸i nèi phÝa sau cña m· nh©n viªn. Cho tríc phÇn ®Çu cña m· nh©n viªn, h·y t×m ch÷ c¸i in hoa nèi phÝa sau. D÷ liÖu vµo: Tõ file v¨n b¶n MASO.INP cã cÊu tróc nh sau: Dßng ®Çu tiªn ghi sè nguyªn d¬ng K. Dßng thø 2 ghi mét x©u gåm 7 ch÷ sè lµ phÇn ®Çu cña m· nh©n viªn Dßng thø 3 ghi 7 sè nguyªn d¬ng, sè thø I lµ träng lîng cña ch÷ sè thø I trong phÇn ®Çu cña m·. C¸c sè c¸ch nhau mét ký tù tr¾ng. Dòng cuối cùng ghi một xâu có độ dài Kgồm các chữ cái tiếng Anh in hoa, chữ cái thứ I tơng ứng với số I-1 là số d của phép chia của tổng tìm đợc cho K. Kết quả: Ghi ra file văn bản MASO.OUT, chứa chữ cái tìm đợc. VÝ dô: MASO.IN MASO.OUT 11 D 6830907.
<span class='text_page_counter'>(2)</span> 2 7 6 5 4 3 2 JABCDEFGHIZ Bµi 3. (5,0 ®iÓm). Sa m¹c. Sa m¹c lµ líi « vu«ng cÊp MxN ( 1≤ N,M ≤ 100). Trªn mçi « cña líi ngêi ta ghi một số nguyên a( 1≤ a ≤ 100) đợc gọi là năng lợng của ô đó. Một con lạc đà đang ở ô (i,j) của lới chỉ đợc đi đến một trong hai ô (i+1,j) hoặc ô (i,j+1). Lạc đà đi đến ô nào thì hấp thụ đợc nguồn năng lợng tại ô đó. Hãy tìm cho lạc đà một đờng đi từ ô (1,1) đến ô (M,N) theo nguyên tắc trên và hấp thụ đợc nhiều năng lợng nhất. D÷ liÖu vµo: Tõ file v¨n b¶n SAMAC.INP, dßng ®Çu tiªn thi 2 sè nguyªn d¬ng theo thø tù M, N. Dßng thø I trong M dßng tiÕp theo ghi N sè nguyªn d¬ng, sè thø J lµ n¨ng lîng trªn « (I , J) cña sa m¹c.( sè thø tù cña c¸c sè trªn mét dßng tÝnh tõ tr¸i qua ph¶i) Kết quả: Ghi ra file văn bản SAMAC.OUT, dòng đầu tiên ghi số S là năng lợng mà lạc đà hấp thụ đợc. Từ dòng thứ 2 trở đi mỗi dòng ghi 2 số nguyên dơng là toạ độ các ô theo thứ tự trên đờng đi của lạc đà. VÝ dô: SAMAC.INP SAMAC.OUT 4 5 41 1 5 1 3 4 1 1 6 7 9 1 5 2 1 1 1 8 4 1 2 2 1 3 4 3 3 2 3 3 3 3 4 4 4 4 5 C¶ hai file d÷ liÖu, c¸c sè trªn mét dßng c¸ch nhau mét ký tù tr¾ng. Bµi 4. (5,0 ®iÓm) Héi tr¹i Nhân dịp ngày thành lập công ty, ban Giám đốc công ty X tổ chức cho cán bé c«ng nh©n viªn mét cuéc héi tr¹i. Thêi ®iÓm tÝnh trong ngµy héi tr¹i lµ phót, thêi ®iÓm ban ®Çu lµ 0. C«ng ty cã N c¸n bé c«ng nh©n viªn. Ngêi thø I cã mÆt t¹i hội trại từ thời điểm aI đến thời điểm bI. Hãy lập trình giải quyết các công việc sau ®©y: 1. Tìm cho ban Giám đốc một thời điểm sớm nhất đến thăm hội trại để gặp đợc nhiÒu c¸n bé nhÊt. 2. Tìm một khoảng thời gian dài nhất tại địa điểm hội trại không có ai cả, nếu cã nhiÒu kho¶ng thêi gian nh thÕ h·y ®a ra kho¶ng thêi gian sím nhÊt. D÷ liÖu vµo: Tõ file v¨n b¶n: HOITRAI.INP, cã cÊu tróc nh sau: Dßng ®Çu tiªn ghi sè N lµ sè c¸n bé cña c«ng ty ( ( 1≤ N ≤ 10000) . Dßng thø I trong N dßng tiÕp theo ghi 2 sè nguyªn d¬ng aI vµ bI lµ kho¶ng thêi gian cã mÆt t¹i héi tr¹i cña c¸n bé thø I. KÕt qu¶: Ghi ra file v¨n b¶n HOITRAI.OUT nh sau: Dòng đầu tiên ghi số T là thời điểm ban Giám đốc đến thăm hội trại. Dòng thứ 2 ghi 2 số nguyên a, b là khoảng thời gian từ a đến b không có ai ở hội trại. Nếu không tìm đợc ghi số 32675 hai lần. C¶ hai file d÷ liÖu, c¸c sè trªn mét dßng c¸ch nhau mét ký tù tr¾ng. VÝ dô: HOITRAI.INP 7 1 320 400 1000 351 1200 380 1336. HOITRAI.OUT 623 321 350.
<span class='text_page_counter'>(3)</span> 452 1430 512 1230 623 1105 - - - HÕt - - -. Hä vµ tªn thÝ sinh …………………………………………………. Sè b¸o danh ………………. Chú ý: - Chơng trình giải các bai1, bài 2, bài 3, bài 4 lần lợt ghi lên đĩa với các tên Bai1.pas; Bai2.pas; Bai3.pas; Bai4.pas. - Gi¸m thÞ kh«ng ph¶i gi¶i thÝch g× thªm..
<span class='text_page_counter'>(4)</span> Bài 1: uses crt; const tfi='pts.IN9876543210'; tfo='PTS.OU9876543210'; maxMN=100; NTO: array[1..25] of integer=( 2, 3, 5, 7,11,13,17,19,23,29, 31,37,41,43,47,53,59,61,67,71,. 73,79,83,89,97);. var fi,fo: text; M,N,k: integer; a: array[1..100] of integer; x,y: array[0..100] of real; procedure Docdl; var i,j: integer; begin readln(fi,n,k); for i:=1 to N do read(fi,a[i]); end; procedure ChuanBi; var i,j,l: integer; begin for i:=0 to 100 do x[i]:=0; {khong xac dinh} for j:=0 to k do begin if j*NTO[1]>100 then break; x[j*NTO[1]]:=1; end; for l:=2 to 25 do begin y:=x; for i:=1 to 100 do begin x[i]:=0; for j:=0 to k do begin if i-j*NTO[l]<0 then break; x[i]:=x[i]+y[i-j*NTO[l]]; end; end;.
<span class='text_page_counter'>(5)</span> end; end; procedure Inkq; var i,j: integer; begin for i:=1 to N do write(fo,x[a[i]]:0:0,' '); end; BEGIN assign(fi,tfi); reset(fi); assign(fo,tfo); rewrite(fo); Docdl; ChuanBi; Inkq; close(fi); close(fo); END.. Đề và bảng A và bảng B giống nhau chỉ khác bài 1.
<span class='text_page_counter'>(6)</span>