百度之星Astar2012程序设计大赛 初赛试题(二)
- 格式:doc
- 大小:40.00 KB
- 文档页数:7
百度之星Astar2012程序设计大赛初赛试题(第一场)————及B题答案比赛说明百度之星初赛:2012年6月2日、6月3日10:00Am~12:00Pm本次大赛的初赛的初赛采取在线答题、编译,离线判题的形式,选手报名后,可以在6月2日、6月3日任选一天参加比赛,也可选择两场都参加。
针对每题,交题后,系统将给出程序编译是否正确的结果,但不会给出程序是否通过全部测试数据的评价;当场比赛结束后,所有选手的针对每题所写的程序将被离线评判,每题根据程序通过测试数据的数目计算得分。
每场初赛根据单场所有题目总分计算成绩,选出当场成绩在前400名的选手进入复赛(第一场已经进入复赛的选手参加第二场比赛如果再次晋级,将被不在第二场参与排名)。
2012年6月2日,2012百度之星Astar2012程序设计大赛初赛打开大幕。
这里提供了初赛第一场的题目,供有未进初赛和其它有兴趣的朋友研究。
初赛第一场共4题。
分别是度度熊就是要第一个出场、小小度刷礼品、集合的交与并、轮子上的度度熊。
目录比赛说明······················· 1·A:度度熊就是要第一个出场·············· 2·B:小小度刷礼品··················· 5·C:集合的交与并····················6·D:轮子上的度度熊···················6·A:度度熊就是要第一个出场题目描述Baidu年会安排了一场时装秀节目。
第一题(共四题100分):连续正整数(10分)题目描述:一个正整数有可能可以被表示为n(n>=2)个连续正整数之和,如:15=1+2+3+4+515=4+5+615=7+8请编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列。
输入数据:一个正整数,以命令行参数的形式提供给程序。
输出数据:在标准输出上打印出符合题目描述的全部正整数序列,每行一个序列,每个序列都从该序列的最小正整数开始、以从小到大的顺序打印。
如果结果有多个序列,按各序列的最小正整数的大小从小到大打印各序列。
此外,序列不允许重复,序列内的整数用一个空格分隔。
如果没有符合要求的序列,输出“NONE”。
例如,对于15,其输出结果是:1 2 3 4 54 5 67 8对于16,其输出结果是:NONE评分标准:程序输出结果是否正确。
百度之星程序设计大赛试题-2第二题(共四题100分):重叠区间大小(20分)题目描述:请编写程序,找出下面“输入数据及格式”中所描述的输入数据文件中最大重叠区间的大小。
对一个正整数n,如果n在数据文件中某行的两个正整数(假设为A和B)之间,即A<=n<=B 或A>=n>=B,则n属于该行;如果n同时属于行i和j,则i和j有重叠区间;重叠区间的大小是同时属于行i和j的整数个数。
例如,行(10 20)和(12 25)的重叠区间为[12 20],其大小为9;行(20 10)和(12 18)的重叠区间为[10 12],其大小为3;行(20 10)和(20 30)的重叠区间大小为1。
输入数据:程序读入已被命名为input.txt的输入数据文本文件,该文件的行数在1到1,000,000之间,每行有用一个空格分隔的2个正整数,这2个正整数的大小次序随机,每个数都在1和2^32-1之间。
(为便于调试,您可下载测试input.txt文件,实际运行时我们会使用不同内容的输入文件。
)输出数据:在标准输出上打印出输入数据文件中最大重叠区间的大小,如果所有行都没有重叠区间,则输出0。
NOIP初赛阅读程序模拟题(容易)题目:第1题program t1;var d, p: integer;beginp:=1;d:=11;while d>1 dobeginp:=2*(p+1);d:=d-1end;writeln (p)end.输出:__________________第2题program t2;var g,m: integer;k,t: real;begink:=0; g:=0;for m:=1 to 49 dobeging:=g+1;k:=k+1/(g*(g+1))end;writeln ( k: 10: 2 )end.输出:__________________第3题program t3;var n, i, t: longint;tem: integer;s: string;beginreadln(n);s:='1';repeati:= length(s);while s[i] ='1' dobegins[i]:= '0' ;dec(i);end;if i>0 then s[i]:='1'else s:= '1' +s;val(s,t,tem);until t mod n = 0;writeln(n,'*',t div n,'=',s);end.输入:6输出:________________________第4题program t4;const n = 5;var i,j,m,s:integer;beginm:=0;for i:=1 to n dobeginm:=m+i;s:=m;for j:=1 to 2*i do write(' '); {' '中间是一个空格} for j:=1 to n dobeginwrite(s mod 10:2);s:=s+j;end;writeln;end;end.输出:________________________第5题program t5;var a:array[0..8] of char;i: integer;beginfor i:= 1 to 8 do a[i]:=chr(i * 2 +ord('A'));for i:= 1 to 4 dobegina[0]:=a[i];a[i]:=a[9-i];a[9-i]:=a[0];end;for i:= 1 to 8 do write(a[i]);writeln;end.输出:________________________第6题Program t6;var n, i, x: integer;d:array[0..10] of integer;beginreadln(n);fori:=1 to n dobeginread(x);d[x]:=d[x] +1;end;d[0]:=0;for i:=1 to 10 do d[i]:=d[i-1]+d[i];for i:=1 to 10 doif d[i] < > d[i-1] then writeln(i:3,d[i-1]+1:4); end.输入:203 4 6 1 7 6 9 4 10 76 6 3 3 87 9 10 6 7输出:____________________________第7题program t7;var a,b:array[1..32] of integer;i: integer;procedure ssort( i ,j: integer);var m, k, x: integer;beginif j-i>1 thenbeginm:=(i+j) div 2;ssort(i,m);ssort(m+1,j);k:=i;for x:=i to m dobeginb[k]:=a[x]; b[k+1]:=a[m+x-i+1];k:=k+2;end;for x:=i to j do a[x]:=b[x];end;end;beginfor i:=1 to 16 do a[i]:=i;ssort(1,16);for i:= 1 to 16 do write(a[i]:3);writeln;end.输出:__________________________________________第8题program t8;var a,d:array[1..100] of integer;n ,i ,j ,k,x ,s :integer;beginn:=5;a[1]:=1;d[1]:=1;for i:=1 to n dobegins:=i+1;x:=0;for j:=1 to n+1-i dobegink:=s+x;x:=x+1;a[j+1]:=a[j]+k;write(a[j],' ');end;writeln('...');d[i+1]:=d[i]+i;a[1]:=d[i+1];end;end.输出:____________________________________________第9题program t9;var m,n,i,p,k:integer;r:array[1..200] of integer;b: boolean;beginm:=6;n:=2;for i:=1 to m-1 do r[i]:=i+1;r[m]:=1;i:=0;p:=1;b:=true;while b dobegini:=i+1;k:=p;p:=r[p];if k=p then begin writeln(p) ;b:=false endelse if i=n+1 thenbeginwrite(p,' ');i:=0;p:=r[p];r[k]:=p;endendend.输出:________________________________第10题program t10;var n,k,s:longint;beginn:=1000000000;k:=0;s:=1;while s <= n dobegink:=k+1;n:=n-s;s:=s+6*kend;writeln (k)end.输出:____________________________第11题program t11;const a: array[1..14] of longint=(94,32,40,90,99,80,46,21,69,28,64,73,85,54); var i, j, k, m,left, right, temp: longint;beginm:=8; left:= 1; right:= 14;while left < right dobegink:=a[m]; i:=left; j:=right;repeatwhile k < a[j] do j:=j-1;while k > a[i] do i:=i+1;if i <= j thenbegintemp:=a[i]; a[i]:=a[j]; a[j]:=temp; i:=i+1; j:=j -1enduntil i > j;if j < m then left:=i;if i > m then right:=jend;writeln(a[m])end.输出:___________________________________第12题program t12;var m ,n,s: longint;procedure p(n: longint);beginif n< >0 thenbeginp(n div 2);s:=(s*2+n mod 2 *m) mod 1023endend;beginm:=2002;n:=5871;s:=0;p(n);writeln(s);end.输出:______________________________第13题PROGRAM t13;VAR n,i,j,k:integer;BEGINreadln(n);for i:=1 to n dobeginfor j:=1 to n dobeginif i>=j then k:=j else k:=i;write(k:4)end;writelnendEND.输入:7输出:第14题PROGRAM t14;VAR n,i,j,k,mi,ma:integer;BEGINreadln(n);for i:=1 to n dobeginif i>=n+1-i then ma:=i else ma:=n+1-i;mi:=n+1-ma;k:=1;for j:=1 to n dobeginwrite(k:4);if j<mi then k:=k+1else if j>=ma then k:=k-1;end;writelnendEND.输入:7输出:第15题PROGRAM t15;VAR n,i,j,r,c,k,m:integer;BEGINreadln(n);for i:=1 to n dobeginfor j:=1 to n dobeginif i+j<=n+1 then k:=(i+j-2)*(i+j-1) div 2+i elsebeginr:=n+1-i; c:=n+1-j;k:=n*n+1-(r+c-2)*(r+c-1) div 2-rend;write(k:4)end;writelnendEND.输入:7输出:第16题PROGRAM t16;VAR a:array[1..20,1..20]of integer;n,i,j,r,c,k:integer;BEGINreadln(n);for i:=1 to n dobeginfor j:=1 to n dobeginif i+j<=n+1 then k:=(i+j-2)*(i+j-1)div 2+(i+j)mod 2*i+(i+j-1)mod 2*j elsebegin r:=n+1-i; c:=n+1-j;k:=n*n+1-(r+c-2)*(r+c-1)div 2-(r+c)mod 2*r-(r+c-1)mod 2*c;end;write(k:4);end;writelnendEND.输入:6输出:第17题PROGRAM t17;VAR n,i,j,k,c,s,d:integer;BEGINreadln(n);for i:=1 to n dobeginfor j:=1 to n dobeginif i>j then k:=i*i+1-j else k:=j*j+1+i-j-j; write(k:3)end;writelnendEND.输入:8输出:第18题PROGRAM t18;VAR n,i,j,k,r,c,ma:integer;BEGINwrite('Enter n : '); readln(n);for r:=1 to n dobeginfor c:=1 to n dobegini:=r;j:=c;if r>c then ma:=r else ma:=c;if ma mod 2=1 then begin i:=c;j:=r end;if i>j then k:=i*i+1-j else k:=j*j+1+i-j-j; write(k:3)end;writelnendEND.输入:8输出:第19题PROGRAM t19;VAR q,r:array[0..100]of integer;m,n,i,j,k:integer;BEGINfor i:=0 to 100 do q[i]:=-1;write('m,n : '); readln(m,n);write(m,'/',n,' = ',m div n,'.');k:=m mod n;i:=0;while q[k]=-1 dobeginq[k]:=i;r[i]:=k*10 div n;k:=k*10 mod n;i:=i+1;end;for j:=0 to q[k]-1 do write(r[j]);if k>0 thenbeginwrite(char(39));for j:=q[k] to i-1 do write(r[j]);write(char(39));end;writelnEND.分别输入:m,n : 123 15m,n : 3 7m,n : 100 12m,n : 1000 71分别输出:第20题PROGRAM t20;CONST x=3;VAR y,m,d,day:integer;mn:array[0..6]of string[8];BEGINmn[0]:='Sunday';mn[1]:='Monday';mn[2]:='Tuesday';mn[3]:='Wensday';mn[4]:='Thursday';mn[5]:='Friday';mn[6]:='Saturday';readln(y,m,d);if m<3 then begin m:=m+12; y:=y-1 end;day:=(y+(y div 4)-(y div 100)+(y div 400) +(m-3)*2+(m*3-7)div 5+d-1+x)mod 7; writeln(mn[day])END.输入:2002 5 30输出:第21题PROGRAM t21;CONST n=20;VAR i,j,q:integer;BEGINi:=3;while i<n dobeginq:=trunc(sqrt(i));j:=3;while (j<=q) and (i mod j<>0) do j:=j+2; if j>q then write(i:8);i:=i+2end;writelnEND.输出:第22题PROGRAM t22;VAR n,m:integer;FUNCTION f(n:integer):integer;VAR tmp,i:integer;BEGINtmp:=1;FOR i:=1 TO (n DIV 2) DOtmp:=tmp+f(i);f:=tmp;END;BEGINreadln(n);m:=f(n);writeln('f(',n,')=',m)END.输入:6输出:第23题PROGRAM t23;VAR I,J:INTEGER;A,X,Y,Z:STRING;BEGINA:='BAABCDDCAB';I:=6;WHILE I>=2 DOBEGINX:='';FOR J:=I TO I*I-1 DO X:=X+A[I];Y:=A;Y[0]:=CHR(I);Z:='';FOR J:=LENGTH(A)-I+1 TO LENGTH(A) DO Z:=Z+A[J]; Z:=X+Y+Z;I:=I-2END;WRITELN(Z)END.输出:第24题PROGRAM t24;VAR I,S,T,X:INTEGER;PROCEDURE PP(Y:INTEGER);BEGINT:=1;FOR I:=1 TO X DO T:=T*I+1;END;BEGINX:=5; S:=4;PP(X);S:=S+T;X:=3;PP(X);S:=S-T;X:=5;WRITELN('S=',S);WRITELN('X=',X)END.输出:第25题Program t25(input,output);VAR I,J,S:INTEGER;B :ARRAY[0..5] OF INTEGER;BEGINS:=1;FOR I:=1 TO 5 DO B[I]:=I;J:=1;WHILE J>0 DOBEGINJ:=5;WHILE (J>0) AND (B[J]=10+J-5) DO J:=J-1; IF J>0 THENBEGINS:=S+1; B[J]:=B[J]+1;FOR i:=J+1 TO 5 DO B[i]:=B[J]+i-J END;END;WRITELN('S=',S);END.输出:第26题program t26(input,output);VAR i, s, max:integer;a:array[1..10] of integer;Beginfor i:=1 to 10 do read(a[i]);max:=a[1]; s:=a[1];for i:=2 to 10 dobegin if s<0 then s:=0;s:=s+a[i];if s>max then max:=send;writeln('max=',MAX)End.输入:8 9 -1 24 6 5 11 15 -28 9输出:第27题PROGRAM t27;var i,x,x1,x2:integer;beginx1:=3; x2:=8;for i:=1 to 5 dobeginx:=(x1+x2)*2;x1:=x2;x2:=xend;writeln('x=',x)end.输出:第28题PROGRAM t28;const maxn=20;var i,j,k,n:integer;a:array [1..maxn,1..maxn] of integer;beginreadln(n);i:=1; j:=(n+1) div 2;for k:=1 to n*n dobegina[i,j]:=k;if k mod n=0then i:=i+1else begin i:=i-1;j:=j+2 end;if i>n then i:=i-n;if i<=0 then i:=i+n;if j>n then j:=j-nend;for i:=1 to n dobeginfor j:=1 to n do write(a[i,j]:3);writelnendend.输入:5输出:第29题PROGRAM t29;var i,k:integer;a:array [0..20] of integer;begina[1]:=1;a[2]:=1;k:=1;repeata[k+2]:=1;for i:=k+1 downto 2 do a[i]:=a[i]+a[i-1]; k:=k+1;until k>=10;for i:=1 to 11 do write(a[i]:5);writelnend.输出:第30题PROGRAM t30;var m,n:integer;function ack(m,n:longint):longint;beginif m=0 then ack:=n+1else if n=0 then ack:=ack(m-1,1)else ack:=ack(m-1,ack(m,n-1)) end;beginwrite('Input m,n=');readln(m,n);writeln('ack(',m,',',n,')=',ack(m,n))end.分别输入:Input m,n= 1 3Input m,n= 2 4Input m,n= 3 3Input m,n= 3 4分别输出:第31题PROGRAM t31;const n=20;var i,j,k,l:integer;a:array[0..n] of integer;beginreadln(k);j:=1;while k>=j dobegina[j]:=j; k:=k-j; j:=j+1end;l:=j-1;while k>0 dobegina[l]:=a[l]+1; k:=k-1; l:=l-1end;for i:=1 to j-1 do write(a[i]:4);writelnend.输入:11输出:第32题PROGRAM t32;var i,n:longint;beginreadln(n);i:=2;while n<>1 dobeginwhile n mod i=0 dobegin write(i,' '); n:=n div i end;i:=i+1end;writelnend.输入:27720输出:第33题PROGRAM t33;function s(n:integer):integer;beginif n=0 then s:=0 else s:=s(n-1)+nend;beginwriteln(s(100))end.输出:第34题PROGRAM t34;const maxn=10;var i,j,n:integer;a:array [-maxn..maxn,-maxn..maxn] of integer; beginn:=5;for i:=-n to n dobeginfor j:=-n to n dobeginif abs(i)<abs(j) then a[i,j]:=abs(j) else a[i,j]:=abs(i); write(a[i,j],' ');end;writelnendend.输出:第35题PROGRAM t35;var n:longint;procedure turn(n:longint);beginif n>0 then begin turn(n div 8); write(n mod 8) endend;beginn:=32766;turn(n)end.输出:第36题PROGRAM t36;var x,y:longint;beginx:=270270; y:=20691;while (x<>0) and (y<>0) dobeginif x>=y then x:=x-y else y:=y-xend;if x=0 then writeln(y) else writeln(x)end.输出:第37题PROGRAM t37;Var i,j,n:integer;a:array[1..1000] of integer;beginn:=200;for i:=1 to n do a[i]:=0;for i:=1 to n dobeginj:=i;while j<=n dobegina[j]:=1-a[j];j:=j+iendend;for i:=1 to n do if a[i]=1 then write(i:5)end.输出:第38题PROGRAM t38;const maxn=8;type arraytype=array [1..maxn] of integer;var i,n:integer;a:arraytype;procedure p(k:integer;a:arraytype);var i,temp:integer; b:arraytype;beginif k=n then begin for i:=1 to n do write(a[i],' '); writeln end else for i:=k to n dobegin b:=a; temp:=b[k]; b[k]:=b[i]; b[i]:=temp;p(k+1,b) endend;beginn:=4;for i:=1 to n do a[i]:=i;p(1,a);end.输出:第39题PROGRAM t39;const maxn=8;type arraytype=array [0..maxn] of integer;var i,j,k,n:integer;a,b,c:arraytype;beginn:=4;for i:=0 to n do a[i]:=0;repeatfor i:=0 to n do c[i]:=i+1;for i:=n-1 downto 0 dobegin b[i]:=c[a[i]];for j:=a[i] to n-1 do c[j]:=c[j+1] end; for i:=n-1 downto 0 do write(b[i],' ');writeln;a[0]:=a[0]+1;i:=0;while a[i]>i dobegin a[i+1]:=a[i+1]+1; a[i]:=0; i:=i+1 end; until a[n]>0end.输出:第40题PROGRAM t40;var i,j,k,n,r:integer;a:array[0..100] of integer;beginn:=6; r:=3;for i:=0 to r do a[i]:=i;while a[0]=0 dobeginfor i:=1 to r do write(a[i],' ');writeln;k:=r;while a[k]>=n-r+k do k:=k-1;a[k]:=a[k]+1;for i:=k+1 to r do a[i]:=a[k]+i-k;end;writelnend.输出:第41题PROGRAM t41;const maxn=20000;var i,j,n,s:longint;a:array [1..maxn] of boolean;beginreadln(n);for i:=1 to n do a[i]:=false;for i:=1 to n dobeginj:=i;while j<=n dobegina[j]:=not(a[j]);j:=j+iendend;s:=0;for i:=1 to n do if a[i] then s:=s+i;writeln(s);end.分别输入:1020010000分别输出:第42题PROGRAM t42;var n,x,p:integer;function prime(y:integer):boolean;var i:integer;begini:=2;while (i*i<=y) and (y mod i<>0) do i:=i+1;if i*i>y then prime:=true else prime:=falseend;beginreadln(n);while n<=100 dobeginx:=1;repeatx:=x+1;until (x>=n div 2) or prime(x) and prime(n-x);if prime(x) and prime(n-x) then writeln(n,'=',x,'+',n-x); n:=n+2endend.输入:88输出:第43题PROGRAM t43;var n:1..9;procedure diamond(m:integer);procedure line(k:integer);var j:integer;beginwrite('':10-k);for j:=1 to 2*k-1 do if j<=k then write(j) else write(2*k-j); writeln;end;beginif m=n then line(m)else begin line(m);diamond(m+1);line(m);end;end;beginreadln(n);diamond(1);end.输入:8输出:第44题PROGRAM t44;const h:string[16]='0123456789ABCDEF';var n:longint; i,j:integer;s:array[1..16] of integer;beginreadln(n);i:=0;while n>0 dobegini:=i+1;s:=n mod 16;n:=n div 16;end;write('h='); for j:=i downto 1 do write(h[s[j]+1]);writeln;end.输入:347592输出:答案:1、输出:30702、输出:0.983、输出:6*185=11104、输出:1 2 4 7 13 4 6 9 36 7 9 2 60 1 3 6 05 6 8 1 55、输出:QOMKIGEC6、输出:1 13 24 56 77 128 169 1710 197、输出: 1 9 5 13 3 11 7 15 2 10 6 14 4 12 8 168、输出:1 3 6 10 15 ...2 5 9 14 ...4 8 13 ...7 12 ...11 ...9、输出:4 2 1 3 6 510、输出:100011、输出:6912、输出:49513、输出:1 1 1 1 1 1 11 2 2 2 2 2 21 2 3 3 3 3 31 2 3 4 4 4 41 2 3 4 5 5 51 2 3 4 5 6 61 2 3 4 5 6 714、输出:1 1 1 1 1 1 11 2 2 2 2 2 11 2 3 3 3 2 11 2 3 4 3 2 11 2 3 3 3 2 11 2 2 2 2 2 11 1 1 1 1 1 115、输出:1 2 4 7 11 16 223 5 8 12 17 23 296 9 13 18 24 30 3510 14 19 25 31 36 4015 20 26 32 37 41 4421 27 33 38 42 45 4728 34 39 43 46 48 4916、输出:1 2 6 7 15 163 5 8 14 17 264 9 13 18 25 2710 12 19 24 28 3311 20 23 29 32 3421 22 30 31 35 3617、输出:1 2 5 10 17 26 37 504 3 6 11 18 27 38 519 8 7 12 19 28 39 5216 15 14 13 20 29 40 5325 24 23 22 21 30 41 5436 35 34 33 32 31 42 5549 48 47 46 45 44 43 5664 63 62 61 60 59 58 5718、输出:1 2 9 10 25 26 49 504 3 8 11 24 27 48 515 6 7 12 23 28 47 5216 15 14 13 22 29 46 5317 18 19 20 21 30 45 5436 35 34 33 32 31 44 5537 38 39 40 41 42 43 5664 63 62 61 60 59 58 5719、输出:123/15 = 8.23/7 = 0.'428571'100/12 = 8.'3'1000/71 = 14.'08450704225352112676056338028169014'20、输出:Thursday21、输出: 2 3 5 7 11 13 17 1922、输出:f(6)=623、输出:AABAAB24、输出:S=314X=525、输出:S=25226、输出:max=7727、输出:x=122428、输出:24 15 1 17 85 167 23 146 22 13 4 2012 3 19 10 2118 9 25 11 229、输出: 1 10 45 120 210 252 210 120 45 10 130、输出:ack(1,3)=5ack(2,4)=11ack(3,3)=61ack(3,4)=12531、输出:1 2 3 532、输出:2 2 2 3 3 5 7 1133、输出:505034、输出:5 5 5 5 5 5 5 5 5 5 55 4 4 4 4 4 4 4 4 4 55 4 3 3 3 3 3 3 3 4 55 4 3 2 2 2 2 2 3 4 55 4 3 2 1 1 1 2 3 4 55 4 3 2 1 0 1 2 3 4 55 4 3 2 1 1 1 2 3 4 55 4 3 2 2 2 2 2 3 4 55 4 3 3 3 3 3 3 3 4 55 4 4 4 4 4 4 4 4 4 55 5 5 5 5 5 5 5 5 5 535、输出:7777636、输出:9937、输出: 1 4 9 16 25 36 49 64 81 100 121 144 169 19638、输出:1 2 3 41 2 4 31 32 41 3 4 21 4 3 21 42 32 13 42 1 4 32 3 1 42 3 4 12 43 12 4 1 33 2 1 43 24 13 1 2 43 14 23 4 1 23 4 2 14 2 3 14 2 1 34 3 2 14 3 1 24 1 3 24 1 2 3 39、输出:1 2 3 41 2 4 31 32 41 3 4 21 42 31 4 3 22 13 42 1 4 32 3 1 42 3 4 12 4 1 32 43 13 1 2 43 14 23 2 1 43 24 13 4 1 23 4 2 14 1 2 34 1 3 24 2 1 34 2 3 14 3 1 24 3 2 140、输出:1 2 31 2 41 2 51 2 61 3 41 3 51 3 61 4 51 4 61 5 62 3 42 3 52 3 62 4 52 4 62 5 63 4 53 4 63 5 64 5 641、输出:14105033835042、输出:88=5+8390=7+8392=3+8994=5+8996=7+8998=19+79100=3+9743、输出:15行数字菱形,每一行由1到i,再由I-1到1 44、输出:h=54DC8。
2012年宁波市第27届中小学生计算机程序设计竞赛小学组初赛试题小学组初赛试题●●所有答案都必须写在答题纸上,写在试卷上无效●●一、选择题(每题2分,共30分。
每小题只有唯一一个正确答案)1)乐乐在记事本里打了“Happy Birthday!”,则它们在计算机内存储时采用的编码是:()。
A )区位码B )ASCII 码C )字形码D )条形码2)乐乐经常听MP3,由此他也学到了一些有关MP3的知识。
下列有关MP3的信息中不正确的是:()。
A )表达同一首乐曲时,MP3格式的文件大小比WAVE 格式要小得多。
B )MP3声音是一种声音数字化之后经过压缩和编码技术处理得到的声音格式。
C )MP3音乐所采用的声音数据压缩编码的标准是JPEG 。
D )MP3之所以得以流行,是因为MP3声音的质量好,存储容量小,便于传输与存储。
3)下图所示是一个16×16点阵的发光LED 字幕模块,假如使用1表示点发光、0表示点熄灭,那么这个发光LED 字幕模块如果要在计算机内部完整地保存,在不进行压缩的前提下,最少需要的存储空间是:()。
A )8ByteB )32ByteC )8KBD )32KB4)在计算机系统中,数值一律用补码来表示(存储)。
主要原因:使用补码,可以将符号位和其他位统一处理;同时,减法也可按加法来处理。
那么在PASCAL 系统中,-15用byte 变量类型存储在计算机内,其二进制编码为:()。
A )10001111B )00001111C )11110000D )111100015)十进制数2012.25用二进制数表示的结果是:()。
A )(11111010101.1)2B )(11111011100.01)2C )(1111001000.01)2D )(11111001000.1)26)乐乐在参加信息学奥赛的学习过程中,想在因特网上与他人进行即时讨论、交流,则下列工具中最适合的是:()。
Astar2006百度之星程序设计大赛题目1.百度语言翻译机百度的工程师们是非常注重效率的,在长期的开发与测试过程中,他们逐渐创造了一套独特的缩略语。
他们在平时的交谈、会议,甚至在各种技术文档中都会大量运用。
为了让新员工可以更快地适应百度的文化,更好地阅读公司的技术文档,人力资源部决定开发一套专用的翻译系统,把相关文档中的缩略语和专有名词翻译成日常语言。
输入要求:输入数据包含三部分:1. 第一行包含一个整数N(N<=10000),表示总共有多少个缩略语的词条;2. 紧接着有N行的输入,每行包含两个字符串,以空格隔开。
第一个字符串为缩略语(仅包含大写英文字符,长度不超过10字节),第二个字符串为日常语言(不包含空格,长度不超过255字节);3. 从第N+2开始到输入结束为包含缩略语的相关文档(总长度不超过1000000个字节)。
例:6PS 门户搜索部NLP 自然语言处理PM 产品市场部HR 人力资源部PMD 产品推广部MD 市场发展部百度的部门包括PS,PM,HR,PMD,MD等等,其中PS还包括NLP小组。
样例:in.txt输出要求:输出将缩略语转换成日常语言后的文档。
(将缩略语转换成日常语言,其他字符保留原样)。
例:百度的部门包括门户搜索部,产品市场部,人力资源部,产品推广部,市场发展部等等,其中门户搜索部还包括自然语言处理小组。
样例:out.txt评分规则:1.程序将运行在一台Linux机器上(内存使用不作严格限制),在每一测试用例上运行不能超过10秒,否则该用例不得分;2.要求程序能按照输入样例的格式读取数据文件,按照输出样例的格式将运行结果输出到标准输出上。
如果不能正确读入数据和输出数据,该题将不得分;3.该题目共有4个测试用例,每个测试用例为一个输入文件。
各测试用例占该题目分数的比例分别为25%,25%,25%,25%;4.该题目20分。
注意事项:1.输入数据是中英文混合的,中文采用GBK编码。
第一题:微生物增殖假设有两种微生物X 和YX出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。
一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。
现在已知有新出生的X=10, Y=89,求60分钟后Y的数目。
如果X=10,Y=90 呢?本题的要求就是写出这两种初始条件下,60分钟后Y的数目。
题目的结果令你震惊吗?这不是简单的数字游戏!真实的生物圈有着同样脆弱的性质!也许因为你消灭的那只Y 就是最终导致Y 种群灭绝的最后一根稻草!请忍住悲伤,把答案写在“解答.txt”中,不要写在这里!第二题:古堡算式福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:ABCDE * ? = EDCBA他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”华生:“我猜也是!”于是,两人沉默了好久,还是没有算出合适的结果来。
请你利用计算机的优势,找到破解的答案。
把ABCDE 所代表的数字写出来。
答案写在“解答.txt”中,不要写在这里!第三题:比酒量有一群海盗(不多于20人),在船上比拼酒量。
过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。
再打开一瓶酒平分,又有倒下的,再次重复...... 直到开了第4瓶酒,坐着的已经所剩无几,海盗船长也在其中。
当第4瓶酒平分喝下后,大家都倒下了。
等船长醒来,发现海盗船搁浅了。
他在航海日志中写到:“......昨天,我正好喝了一瓶.......奉劝大家,开船不喝酒,喝酒别开船......”请你根据这些信息,推断开始有多少人,每一轮喝下来还剩多少人。
如果有多个可能的答案,请列出所有答案,每个答案占一行。
格式是:人数,人数,...例如,有一种可能是:20,5,4,2,0答案写在“解答.txt”中,不要写在这里!第四题:奇怪的比赛某电视台举办了低碳生活大奖赛。
题目的计分规则相当奇怪:每位选手需要回答10个问题(其编号为1到10),越后面越有难度。
2012百度之星资格赛试题与AC代码A:百度计算器的加法时间限制: 1000ms 内存限制: 10000kB描述百度框计算中提供了计算器这个功能,模拟计算器中的复杂功能,我们最先需要解决的就是实现加法模块。
今天就给你个机会,和百度计算器一样,计算一下十以内的加法吧。
输入仅有一组数据,包含两个正整数,分别为a, b(0 <= a, b <= 10)输出一个正整数,暨输入a, b后对应的a+b的计算结果样例输入5 2样例输出7#include <stdio.h>#include <stdlib.h>/*author tilltheendwjxblog /wjh200821或者/tilltheendwjx/*/int main(){int a,b;scanf("%d%d",&a,&b);printf("%d",a+b);//system("pause");return 0;}B:小诺爱USB设备时间限制: 1000ms 内存限制: 65536kB描述在百度工作的小诺是一个USB设备迷,在他桌上有一堆的USB设备——USB鼠标、USB小音箱、USB按摩器……但是,公司配给小诺的ThinkPad X系列的电脑只有一个能用的USB接口。
不过还好,小诺有一堆的USB Hub,可以把一个可用的USB接口变成多个USB接口。
但是,小诺很难确定这些USB Hub能否满足他他众多的USB设备的需求。
输入输入首行包括一个整数N(1 ≤ N ≤ 20),表示测试数据组数。
接下去的N行,每行包括一组测试数据。
每组测试数据行以一个整数K开头(1 ≤ K ≤ 10),表示这组测试数据提供的USB Hub的数量;紧接着,在同一行,有K个整数(每两个整数之间由一个空格分隔开),{M1,M2…Mi…MK}(2 ≤ Mi ≤ 10),每个整数表示了这个USB Hub能将一个USB接口数变成的多个USB接口的数量。
手机RSS阅读器任务描述:一、标题手机RSS阅读器二、题目目前网上新闻很多,但如果都用网页浏览找起来很麻烦,而且很多新闻都价值不高,只要看个标题就够了。
我们希望构造一款跨平台的网上新闻阅读器,能够在各种主流的手机平台上阅读新闻。
三、初赛阶段要求1. 功能需求a) 搜狐提供各种RSS新闻频道(/rss.shtml),网易也有新闻RSS(/rss/),用户可以订购感兴趣的新闻频道b) 界面内展示用户订购的新闻频道,可以浏览,获取最新新闻c) 用户根据需要可以自动/手动更新新闻列表d) 可以打开阅读新闻详细内容e) 设计页面图标f) 支持换肤2. 非功能需求a) 使用Phonegap 开发b) 要求提供Android版本c) Android 版本支持2.2,800*480 分辨率四、初赛阶段说明1. 开发语言使用HTML5 + Phonegap2. 提交任务包包括编译完成可执行的二进制程序以及源文件3. 提供开发设计说明书及使用手册各一份4. 提供Android环境下操作录像一份(建议使用屏幕录制软件,增加解说词,保存为mpeg或avi文件格式)5. 开发在Android2.2 版本模拟器上进行(Android2.2,分辨率800*480,内存256M,存储512M),运行期内存限制在32M以内,占用存储资源少于10M五、系统实现技术提示信息RSS资料:RSS(简易信息聚合,也叫聚合内容)是一种描述和同步网站内容的格式。
RSS可以是以下三个解释的其中一个:Really Simple Syndication;RDF (Resource Description Framework)Site Summary;Rich Site Summary。
但其实这三个解释都是指同一种Syndication的技术。
RSS目前广泛用于网上新闻频道,Blog和Wiki,主要的版本有0.91, 1.0, 2.0。
使用RSS订阅能更快地获取信息,网站提供RSS输出,有利于让用户获取网站内容的最新更新。
百度之星Astar2012程序设计大赛初赛试题————及答案(第二场)A:度度熊就是要刷排名第一一天度度熊在Baidu游戏大厅中发现了一个隐藏的神奇游戏,叫做“度度熊的逆袭”。
度度熊很好奇到底是什么情况,于是就进入了游戏。
这个游戏很神奇,游戏会给出n个数Ai,度度熊可以任意从中选取一些数,一个数可以选任意多次。
选好之后度度熊得到的分数为度度熊选出的数的Xor(异或)值。
度度熊顿时产生了兴趣,决心要刷至Ranklist的第一名。
但是度度熊犯难了,度度熊不知道自己给出的方案是不是最好的,于是度度熊找到了你,希望你告诉他对于某个回合,度度熊能得到的最高分和第二高分是多少?输入第1行1个数n,接下来1行n个整数表示Ai, (0<=Ai<231)1<=n<=105输出输出一行两个数,表示度度熊能够得到的最高分和第二高分为多少样例输入25 3样例输出6 5#include<stdio.h>main(){long a[100000],i,max1,max2,j,n;scanf("%ld",&n);for(i=0;i<n;i++)scanf("%ld",&a[i]);max1=0;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(max1<a[i]^a[j]){max2=max1;max1=a[i]^a[j];}printf("%ld %ld",max1,max2);}B:度度熊的礼物度度熊拥有一个自己的Baidu空间,度度熊时不时会给空间朋友赠送礼物,以增加度度熊与朋友之间的友谊值。
度度熊在偶然的机会下得到了两种超级礼物,于是决定给每位朋友赠送一件超级礼物。
不同类型的朋友在收到不同的礼物所能达到的开心值是不一样的。
开心值衡量标准是这样的:每种超级礼物都拥有两个属性(A, B),每个朋友也有两种属性(X, Y),如果该朋友收到这个超级礼物,则这个朋友得到的开心值为A*X + B*Y。
由于拥有超级礼物的个数限制,度度熊很好奇如何分配这些超级礼物,才能使好友的开心值总和最大呢?输入第一行n表示度度熊的好友个数。
接下来n行每行两个整数表示度度熊好朋友的两种属性值Xi, Yi。
接下来2行,每行三个整数ki , Ai, Bi,表示度度熊拥有第i种超级礼物的个数以及两个属性值。
1<=n<=1000, 0<=Xi ,Yi, Ai, Bi1+k2>=n输出输出一行一个值表示好友开心值总和的最大值样例输入43 67 41 52 43 3 43 4 3样例输出118提示送给第一种礼物的人有1,3,4,送给第二种礼物的人有2#include <iostream>#include <vector>#include <algorithm>#include <stdio.h>using namespace std;struct dat{double x, y, z;double v;dat(double a, double b, double c, double d):x(a), y(b), z(c), v(d){} dat(){}};struct Val{int i, j;double v;Val(int ti, int tj, double tv):i(ti), j(tj), v(tv){}Val(){}};const int M = 1001;dat web[M];vector<Val> val;double S(int i, int j){return (web[j].x-web[i].x) * (web[j].x-web[i].x) +(web[j].y-web[i].y) * (web[j].y-web[i].y) +(web[j].z-web[i].z) * (web[j].z-web[i].z);}bool cmp(const dat& a, const dat& b){return a.v<b.v;}bool cmp2(const Val& a, const Val& b){ return a.v<b.v;}int faaa[M];int find(int a){int x = a;while(x!=faaa[x]) x = faaa[x];while(a!=faaa[a]){int t = a;a = faaa[a];faaa[t] = x;}return a;}int main(){int n, k;double t, max=0.0, x, y, z;cin>>n>>k;for(int i=0; i<n; i++){faaa[i] = i;cin>>x>>y>>z;t = x*x+y*y+z*z;web[i] = dat(x,y,z,t);val.push_back(Val(i, i, t) );for(int j=0; j<i; j++){val.push_back(Val(i, j, S(i, j)) ); }}sort(val.begin(), val.end(), cmp2); int dif = n-k;int i;for(i=0; dif; i++){int fa = find(val[i].i);int fb = find(val[i].j);if(fa != fb){faaa[fa] = fb;dif --;}}while(val[i].i!=val[i].j && find(val[i].i) == find(val[i].j)) i++;printf("%.6lf\n", val[i].v);return 0;}C:网页聚类有N(N2+ (y_j-y_i)2 + (z_j-z_i)2。
请求出最大的t,使得N个网页可以聚成K类,其中每个类至少包含一个网页,且任意两个位于不同类中网页的相似度都至少为t。
输入第一行包含两个整数N和K,后面N行每行三列,分别为x、y、z。
输出最大的t的值,使用四舍五入在小数点后保留六位小数。
样例输入5 30.1 0.2 0.40.2 0.8 0.70.3 0.4 0.50.0 0.5 0.00.3 0.3 0.2样例输出0.170000D:小王子的表演为了庆祝女王的生日,王宫前的广场上正举行着一场神枪手的表演赛。
这些神枪手中包括军队里的射击天才,山中的顶级猎人,异国的神奇牛仔……来自五湖四海的高手汇聚一堂。
在比赛中技压群雄的人,不仅仅能给女王的生日添上华丽的祝福,还能够获得无上的荣誉。
比赛的规则很简单。
场中存在着N个靶子,每个枪手允许在场内任何一点向任意方向射击一次,穿透最多靶子数目的枪手就是胜利者。
从广场的平面图来看,每个靶子都可以被认为是一个点,并且第i个靶子的运动轨迹是以点(xi ,yi)为起点,点(xi +ai,yi+bi)为终点的线段。
发令枪响的那一刻,每个靶子同时从起点到终点开始匀速运动。
虽然靶子各自的速度不尽相同,但是所有的靶子将会在10秒后同时到达终点,选手必须在这10秒之内(包含开始和结束的瞬间)进行射击。
子弹的速度可以认为是无穷大并且射击场没有边界。
小王子偷偷地也报名参加的这次比赛,希望能在母亲的生日上表现出自己的成长。
聪明的小王子早就通过观察把所有靶子的运动情况强记在心,那么,小王子最完美的射击究竟能够穿透多少靶子呢?输入第一行只有一个整数,N, (1<=N<=50)之后每一行包含4个整数,xi ,yi,ai,bi,分别表示第i的靶子运动轨迹的起点(xi ,yi),以及方向(ai,bi),假设这些整数的绝对值都不大于1000。
输出只需要输出一个整数,表示最优情况下小王子一发子弹能够击穿的靶子数目样例输入9-14 -14 6 0-12 -14 0 2-10 -12 0 -2-12 -12 2 0-14 -14 0 6-8 -14 0 6-8 -8 -6 0-13 -11 1 2-9 -11 -1 2样例输出4提示两个靶子可能会在某些时刻重叠在一起,此时它们不会发生碰撞而是沿着各自的轨迹继续运动下去。
数据中没有两个运动完全相同的靶子。