相关与文件李-选拔赛分析_第1页
相关与文件李-选拔赛分析_第2页
相关与文件李-选拔赛分析_第3页
相关与文件李-选拔赛分析_第4页
相关与文件李-选拔赛分析_第5页
免费预览已结束,剩余10页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、师范大学计算机科学系 NOI96NOI97【试题】 现有 N (N8) 件工作, 分别由 N 个人完成, 每人都完成一件,且只完成一N师范大学计算机科学系 NOI96NOI97【试题】 现有 N (N8) 件工作, 分别由 N 个人完成, 每人都完成一件,且只完成一N第 1 行:2N+1EXAM1.TXTi+1i1000Na-b,aEXAM1.TXT 2 b 1-4, 2-2, 3-1, 4-3 4A,B,C,D.ANN20)a,b,c,. , 将这些圆盘经过 B, C 单向地移入 D (即不允许从右向左移动). 圆盘可在 B,C 中暂存. 从键盘输入 N, 及前 N 个小写字母的一个排列,

2、它表示最后在 D 盘上形成的一个ANS2.TXTMLk, MkLc A ABCDD的数字序列分别为(3,4,2,5,1)和(1,2,3,4,5).在后面的程序ABCDD的数字序列分别为(3,4,2,5,1)和(1,2,3,4,5).在后面的程序中,A 柱与 D 柱的数字序列ga1.Ngd1.N.容易看出,在 D 柱上,盘号从下到上必须是连续递增的.在 C 柱上,盘号从下到上必须是递减的(不要求连续).在 A 和 B 柱上,盘号的顺序是随意的(不能要求 B 柱盘号递减,否则A,B,C 三根柱子直接将顶部圆盘移入Dtopa0Mgramtjcoi1_2;WritebyLiXuewu

3、ga,gb,gc,gd,trn:array0.15offd:array0.15resl:array1.200 procedureresult(topa,t var i:byte;of,topc:byte;varif (topa=0)and(t=0)and(topc=0)then n(inputfilenameforassign(text2,fname); rewrite(text2); for i:=1 to ks dofori:=1toksdowri proceduremove1(varvart,i:byte; ifgatopa=succ(gdtopd)then t:=t+1; ks1:=k

4、s1+1; reslks1:=chr(trngatopa+ord(a)-1)+ A D; topd:=topd+1; gdtopd:=gatopa; topa:=topa-ifgbt =succ(gdtopd)t:=t+1;ks1:=ks1+1; +ord(a)-1)+-topd:=topd+1; gdtopd:=gbt; t ifgctopc=succ(gdtopd)then t:=t+1; reslks1:=chr(trngctopc+ord(a)-1)+vart,i:byte; ifgatopa=succ(gdtopd)then t:=t+1; ks1:=ks1+1; reslks1:=

5、chr(trngatopa+ord(a)-1)+ A D; topd:=topd+1; gdtopd:=gatopa; topa:=topa-ifgbt =succ(gdtopd)t:=t+1;ks1:=ks1+1; +ord(a)-1)+-topd:=topd+1; gdtopd:=gbt; t ifgctopc=succ(gdtopd)then t:=t+1; reslks1:=chr(trngctopc+ord(a)-1)+topd:=topd+1; gdtopd:=gctopc; topc:=topc-1; until t=0;proceduremove2(topa,t var kp,

6、ks1:byte; ,topc,topd:byte;varforkp:=1to3casekpof 0)topc:=topc+1;+ord(a)-1)+-gctopc:=temp; +1; :=temp;topc:=topc-2:if(gatopa0)then reslks1:=chr(trngatopa+ord(a)-1)+A gctopc:=temp; topa:=topa-1;topa:=topa+1; gatopa:=temp;topc:=topc-1; 3:if(topa0)then reslks1:=chr(trngatopa+ord(a)-1)+At:=temp; topa:=to

7、pa-if kz=1gatopa:=temp;-begin wri solution!); halt(1); diskobjectcolumn:(1-nfori:=1 ntopa:=topa+1; gatopa:=temp;topc:=topc-1; 3:if(topa0)then reslks1:=chr(trngatopa+ord(a)-1)+At:=temp; topa:=topa-if kz=1gatopa:=temp;-begin wri solution!); halt(1); diskobjectcolumn:(1-nfori:=1 nwrite(trni:2);write(ga

8、i:2);tgc0:=100; N5N100,ibiM=b1+b2+.+bN4M10000.并入到一个盒子中. 请编写程序给出相应的操作方案, 及总操作次数.EXAM3.TXT第一行: 一个整数, 为盒子个数(N).N(bi).ANS3.TXT1#,2#53#1 2 3 51第 1球的总数(M0,0(4)1-33例: 设 53 4 5 021132364440例: 设 53 4 5 0211323644403120M1=M-.下文中,(c1,c2)(t)(c3)c1,c2t这是因为,c1,c2b1b2,b2c2若总操作次数=M1/2,则一定是最优解.这里xx1. (1)b2M1-b2=b3+b

9、4+.+bk,.b2-(M1-b2)=2b2-M1M1tc2c3,c4,.,ckc2,c3,.,ck1-2.M12. 2-1.M1操作(c2,c3)(1)(c4),再执行操作(c2,c4)(1)(c3t/2b2-t/2c22. 2-1.M1操作(c2,c3)(1)(c4),再执行操作(c2,c4)(1)(c3t/2b2-t/2c2c13. (c2,c1)(t-2)(c3b21,4k(k20)aii=1,2,.,k)a1200.某整数币值 n(n3000), 要求用最少枚数的硬币表示这个币值.其123ka1a2ak n (给定的币值)n,应输出12m*nmn各式第 2 个因子之和应等于 r, 各

10、式乘积之和应等于 n.(a1,a2,a3)=(5,2,1), n=12, 则应输出35*2 15*1,1*6,77*33find1(w,t,b2)是递归回溯的主要部分.其中,wt b2m=w/at5*2 15*1,1*6,77*33find1(w,t,b2)是递归回溯的主要部分.其中,wt b2m=w/attm+10,1,2,.,mw1t余的币值,r:(w10)且(rr1)且(t0then r:=3000; procedure vari: if then wrin(Nosolution!) fori:=1tokdoif bi0then nprocedurefind1(w,t: label 10

11、;eger;varvari,j,m,w1: m:=w div at; forj:=0tomdoift=1 thenw1:=w1-j*at; r:=r+j; rr1 then begin r:=r-j; goto 10 end; w1=0thenprocedurefind1(w,t: label 10;eger;varvari,j,m,w1: m:=w div at; forj:=0tomdoift=1 thenw1:=w1-j*at; r:=r+j; rr1 then begin r:=r-j; goto 10 end; w1=0thenfori:=t+1tokdo(w10)and(rr1)a

12、nd(tk)thenfind1(w1,t+1,b2); (w1=0)and(rr1) thenfori:=1tokdobi:=b2i; beginmainn(inputr:=0; r1:=0;fori:=1tokdobi:=0; n(Moneysystem:); for i:=1 to k dobegin read(text1,ai);write(ai:4);end; readln(text1); wrireadln(text1,n);wri n(Thenumberoffor i:=2to faiak-1*ai+1thenifak1thengree:=false; ifgree then el

13、se find1(n,1,b2);result(r1) LLL40.,L0,123SSL+23tmn,m,n211234564041010提示: 123SSL+23tmn,m,n211234564041010提示: (1)S (2) 除两端点外, 第一个刻度可取为 A1=1,2,L-2,L-1164466S+2CS+2,2S+22LS在题中条件下,如果满足提示(1SS+1L-1,A1=1A1=L-1programtjcoi2_2; WritebyLiXuewu label 10;typearr40=array0.40ofbyte; var a,b,c,d:arr40;i,j,procedure

14、result;varfile1:string20; n(enterfilenameforreadln (file1); i:=1tokdo write(ai:4); i:=1tomdowri n(i:2, i:=1tokdo write(text2,ai:4); i:=1tomdon(text2,i:2,procedure vari: fori:=0to40dobi:=0; c:=b; d:=b;fori:=2toprocedure vari: fori:=0to40dobi:=0; c:=b; d:=b;fori:=2tokdoa0:=0; procedure vari,j,j2,v1,v2

15、,t,t3,t4,temp: begin 1fori:=t1to begin 2if(rk) t2and(i2)then forj:=2tok-1doaj:=aj+1; forj:=1tom forj:=0tok for j2:=j+1dobj:=0; tok+1ifbt=0 beginbt:=1;ct:=aj;dt:=aj2 done:=true; repeatj:=j+1until(bj=0)or(jm); if j=m then done:=false;ifdonethenresult; end;end; n(inptuL:(L3); readln(m); repeatk:=k+1unt

16、il(k+2)*(k+1)div2)=m; 10: init1;forkz:=1to3do case kz of ifthenr:=3;t1:=2; t2:=m-a2:=2; r:=3;t1:=3; t2:=m-ift2t1thent2:=t1; a2:=m-1; r:=3;t1:=2;t2:=m-ift2t1thent2:=t1; k:=k+1; goto10; r:=3;t1:=2; t2:=m-a2:=2; r:=3;t1:=3; t2:=m-ift2t1thent2:=t1; a2:=m-1; r:=3;t1:=2;t2:=m-ift2t1thent2:=t1; k:=k+1; got

17、o10; Rt,t=1,2,.,k,t随 t 的增加而减少, k (k20) 年后卡车已无使用价值.Ut,t=1,.,kt随 t 的增加而增加.Ct,t=1,2,.,k,t它它所t设某卡车已使用过 t 年,t+1Rt-t+1R0-U0-CtNNNFj,t0.j p=et+Fj+1,1; 如果仍使用旧车,则收益为 q=dt+Fj+1,t+1. 这里,etdt为 Ui: 35485012340110分析的方法.Fj,ttjNjNFj,t0.j p=et+Fj+1,1; 如果仍使用旧车,则收益为 q=dt+Fj+1,t+1. 这里,etdt为 jFj+1,1Fj+1,t+1j+1Nprogramtj

18、coi2_3;WriteByLiXuewu type arr20=array0.20 of real;var f:array0.22,0.21ofg:array0.22,0.21var i: n(Input assign(text2,file1); reset(text2);fori:=0tobegindi:=rri-uui; ei:=d0-cci; var i: n(enterfilenameforn(text3,1 0,e0:8:2);i:=2tonifgi,t=1begin wrin(text3,i:2, 1,et:8:2);t:=1end begin n(text3,i:2, 0,dt

19、:8:2);n(1 0,e0:8:2); i:=2ton(i:2, 1,et:8:2);t:=1ifgi,t=1begin wrin(text3,i:2, 1,et:8:2);t:=1end begin n(text3,i:2, 0,dt:8:2);n(1 0,e0:8:2); i:=2ton(i:2, 1,et:8:2);t:=1ifgi,t=1 beginbegin wrin(i:2, 0,dt:8:2);t:=t+1; beginmain;fori:=0ton forj:=0kdo do to ton+1 dofi,k+1:=-2ifjp thenbegingj,t:=0; 1progr

20、ame04_04; type arr3=array 0.15 of fd:array0.15ofchar;resl:array1.200ofstring6; procedureresult(vartopa,t var i:if (topa=0)and(t=0)and(topc=0)then n(inputfilenameforassign(text2,fname); for i:=1 to ks do wrifori:=1toksdowri proceduremove1(varvar var t:ifgatopa=succ(topd)procedureresult(vartopa,t var i:if (topa=0)and(t=0)and(topc=0)then n(inputfilenameforassign(text2,fname); for i:=1 to ks do wrifori:=1toksdowri proceduremove1(varvar var t:ifgatopa=succ(topd)then t:=t+1; ks1:=ks1+1; Aifgbt =succ(topd)t:=t+1; ks1:=ks1+1; -Bifgctopc=succ(topd)then t:=t+1; ks1:=ks1+1; Cuntil t=0;proc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论