tyvj__部分题解代码.doc_第1页
tyvj__部分题解代码.doc_第2页
tyvj__部分题解代码.doc_第3页
tyvj__部分题解代码.doc_第4页
tyvj__部分题解代码.doc_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

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

文档简介

p1008var f:array1.100,0.100of longint;i,k,m,n,j:longint;begin read(n,m); f1,1:=0;f1,2:=1;f1,0:=1; for i:=2 to m dofor j:=0 to n-1 dofi,j:=fi-1,(j-1+n)mod n+fi-1,(j+1)mod n ; write(fm,1);end.P1014uses math;var f:array1.100,1.100of longint; i,j,k,m,n,p,min1:longint; head,tail:array1.100of longint;begin read(n);min1:=maxlongint; for i:=1 to n doread(headi); for i:=1 to n-1 dotaili:=headi+1;tailn:=head1; for i:=n+1 to 2*n-1 doBeginheadi:=headi-n;taili:=taili-n;end; for p:=1 to n-1 do for i:=1 to n-1 dobeginj:=p+i;if jn then break;for k:=i to j-1 doif fi,j0 then fi,j:=min(fi,j,fi,k+fk+1,j+headi*tailk*tailj) else fi,j:=max(fi,j,fi,k+fk+1,j+headi*tailk*tailj);end; write(f1,n-1);end.P1024uses math;var a:arraya.zof integer; i,j,k,m,n:longint; s0:string; s:array1.1000of string;procedure init;var i,j:longint;begin for i:=1 to length(s0) do as0i:=i;end;procedure qq;var i,j:longint;begink:=1; for i:=1 to length(s0) dobeginif s0i then sk:=sk+s0i;if s0i= then inc(k);end;end;procedure dfs(i:longint);var k,ii,jj,l,max1:longint;b,f:array1.1000of integer;beginfillchar(f,sizeof(f),0);fillchar(b,sizeof(b),0); max1:=0; for ii:=1 to length(si) dobii:=asiii;l:=length(si);for ii:=1 to l do fii:=1;for ii:=1 to l dofor jj:=ii+1 to l do begin if bjj=bii then fjj:=max(fjj,fii+1); end;for ii:=1 to l domax1:=max(max1,fii);write(max1);end;beginassign(input,aa.in);reset(input); readln(s0); init; readln(s0); qq; for i:=1 to k do dfs(i);end.P1029uses math;var s0,s1:string; i,j,k,m,n,max1:longint;function check(s0,s1:string;i,l0,l1:longint):longint;var j,k,tt:longint;begin k:=1;tt:=0; for j:=i to l1 dobeginif s1j=s0k then begin inc(tt);inc(k);end else if s1js0k then begin check:=tt;exit;end; end; check:=tt;end;procedure dfs(s0,s1:string);var i,j,k,l1,l0:longint;beginl0:=length(s0);l1:=length(s1);for i:=l1 downto 1 doif s1i=s01 then max1:=max(max1,check(s0,s1,i,l0,l1);begin readln(s0); readln(s1); dfs(s0,s1); dfs(s1,s0); write(max1);end.P1045uses math;vara,k:array0.15of longint;f:array1.15of boolean;s:array0.15,0.15of longint;i,j,m,n,t,max1:longint;procedure check;var i,tot:longint;begin tot:=1; for i:=2 to m do tot:=tot*ski-1+1,ki; tot:=tot*s1,k1*skm+1,n; max1:=max(max1,tot);end;procedure dfs(tt,t:longint;var k1:longint);var i,j:longint;begin if t=m+1 then begin check;exit;end; for i:=tt to n do begin if fi=false then begin fi:=true; k1:=i; dfs(i+1,t+1,kt+1); fi:=false; end; end;end;begin read(n,m); k0:=1; for i:=1 to n do read(ai); for i:=1 to n do for j:=i to n do si,j:=si,j-1+aj; t:=0;if m=0 then begin write(s1,n) ;halt;end; dfs(1,1,k1);write(max1);end.P1046uses math;var f:array0.2010,0.2010of longint;i,j,k,m,n:longint;s1,s2:ansistring;beginassign(input,aa.in);reset(input); readln(s1); readln(s2); read(k); fillchar(f,sizeof(f),120); f0,0:=0; for i:=1 to length(s1) do fi,0:=k*i; for i:=1 to length(s2) do f0,i:=k*i; for i:=1 to length(s1) dofor j:=1 to length(s2) dobeginfi,j:=min(fi,j,fi-1,j+k);fi,j:=min(fi,j,fi,j-1+k);fi,j:=min(fi,j,fi-1,j-1+abs(ord(s1i)-ord(s2j);end; write(flength(s1),length(s2);end.P1048type arr=array1.2000of longint;var a,b:arr; tot,n,max1:longint; f:array0.1000,0.1000of longint; w:array1.1000,1.1000of longint;procedure init;var i,j:longint;begin read(n); for i:=1 to n do read(ai); for i:=1 to n do read(bi);end;procedure sqort(l,r:longint;var a:arr);var i,j,k,med:longint;begin if l=r then exit; i:=l-1;j:=r+1; med:=a(l+r) div 2; while ij do begin repeat inc(i); until ai=med; if ib then exit(A) else exit(b);end;procedure prepare;var i,j:longint;begin sqort(1,n,a);sqort(1,n,b); for i:=1 to n do for j:=1 to n do begin if aibj then wi,j:=200; if ai=bj then wi,j:=0; if aibj then wi,j:=-200; end;end;procedure main;var i,j,p:longint;begin fillchar(f,sizeof(f),200); if anb1 then f1,0:=200; if an=b1 then f1,0:=0; if a1=b1 then f1,1:=0; if a1b1 then f1,1:=200; for i:=2 to n do for j:=0 to i do begin if ij then fi,j:=max(fi,j,fi-1,j+wn-(i-j)+1,i); if j=1 then fi,j:=max(fi,j,fi-1,j-1+wj,i); end; for i:=0 to n do max1:=max(max1,fn,i);end;begin init; prepare; main; write(max1);end.P1050var s1,s2,s:ansistring; f:array0.2000,0.2000of longint;procedure init;var i,j:longint;begin readln(s); s1:=copy(s,1,pos( ,s)-1); s2:=copy(s,pos( ,s)+1,length(s);end;function max(a,b:longint):longint;begin if ab then exit(a) else exit(b);end;procedure main;var i,j:longint;begin for i:=1 to length(s1) do for j:=1 to length(s2) do begin if (s1i=s2j) then fi,j:=max(fi-1,j-1+1,fi,j) fi,j:=max(fi-1,j,fi,j); fi,j:=max(fi,j,fi,j-1); else fi,j:=max(fi,j-1,fi-1,j); end;end;begin init; main; write(flength(s1),length(s2);end.P1052program p1052;var f:array-2.6000,0.1of longint; a:array1.6000,1.3of longint; last,du:array1.6000of longint; n:longint;procedure init;var i,j,x,y:longint;begin read(n); for i:=1 to n do begin ai,1:=-1;ai,2:=-1;ai,3:=-1;end; for i:=1 to n do read(ai,3); read(x,y); while (x0)or(y0) do begin if lasty0 then begin alasty,2:=x;end; if lasty=0 then begin ay,1:=x;end; lasty:=x; inc(dux); read(x,y); end;end;function max(a,b:longint):longint;begin if ab then exit(a) else exit(b);end;procedure treedp(x:longint);var i,j:longint;begin if xfj,1 then write(fj,0) else write(fj,1);end;beginassign(input,f1.in);reset(input); init; main;end.P1054uses math;var a,f:array1.80,0.80 of string;i,j,k,m,n,q:longint;s1,s2,s3,tot:string;procedure init;var i,j,k:integer;s:string;begin k:=1; for i:=1 to n do beginreadln(s);for j:=1 to length(s) do begin if sj= then inc(k); if sj then ai,k:=ai,k+sj; end; k:=1; end;end;function bijiao(s1,s2:string):string;var a,b:array1.225of longint;i,j,k,l1,l2:integer;begin l1:=length(s1);l2:=length(s2); if l1l2 then exit(s1); if l1s2 then exit(s1) else exit(s2);end;function jia(s1,s2:string):string;var a,b,c:array0.225of longint;i,j,k,l1,l2:integer;s,ch:string;beginfillchar(a,sizeof(a),0);fillchar(b,sizeof(b),0);fillchar(c,sizeof(c),0); l1:=length(s1); l2:=length(s2); for i:=1 to l1 do al1-i+1:=ord(s1i)-ord(0);for i:=1 to l2 do bl2-i+1:=ord(s2i)-ord(0); for i:=1 to max(l1,l2) doci:=ai+bi; for i:=1 to max(l1,l2) dobeginci+1:=ci+1+ci div 10000;ci:=ci mod 10000;end; k:=max(l1,l2);s:=; if ck+10 then inc(k); while (ck=0)and(k0) do dec(k); for i:=k downto 1 do begin str(ci,ch); s:=s+ch; end; exit(s);end;function cheng(s1,s2:string):string;forward;function me(k:integer):string;var i,j:integer;s1,s2:string;begin s1:=2;s2:=1; for i:=1 to k do begin s2:=cheng(s1,s2); end; exit(s2);end;function cheng(s1,s2:string):string;var a,b,c:array0.225of longint;l1,l2,i,j,k:integer;s,ch:string;beginfillchar(a,sizeof(a),0);fillchar(b,sizeof(b),0);fillchar(c,sizeof(c),0); l1:=length(s1); l2:=length(s2); for i:=1 to l1 do al1-i+1:=ord(s1i)-ord(0); for i:=1 to l2 do bl2-i+1:=ord(s2i)-ord(0); for i:=1 to l1 dofor j:=1 to l2 doci+j-1:=ci+j-1+ai*bj; for i:=1 to l1+l2 do begin ci+1:=ci+1+ci div 10000; ci:=ci mod 10000; end; k:=l1+l2;s:=; if ck10000 then inc(k); while (ck=0)and(k0) do dec(k); for i:= k downto 1 dobeginstr(ci,ch);s:=s+ch;end; exit(s);end;procedure dp(i:integer);var ii,jj,kk:longint;fff:boolean;s,s1,s2,s3,max1:string;begin max1:=;s:=2;s1:=;s2:=;s3:=;f1,0:=cheng(ai,m,s);f1,1:=cheng(ai,1,s); for ii:=2 to m dofor jj:=0 to ii dobeginif ii=4 thenfff:=false;if jj=0 then begin /fii,jj:=fii-1,0+ai,m-ii+1*2*ii; s1:=me(ii); fii,jj:=jia(cheng(ai,m-ii+1,s1),fii-1,0); end;if jj0 then begin s1:=me(ii); s2:=jia(fii-1,jj-1,cheng(ai,jj,s1); s3:=jia(fii-1,jj,cheng(ai,(m-ii+jj+1),s1); fii,jj:=bijiao(s2,s3); end; /fii,jj:=max(fii,jj,fii-1,jj-1+ai,jj*2*ii); /fii,jj:=max(fii,jj,fii-1,jj+ai,(m-ii+jj+1)*2*ii);end; for ii:=0 to m do max1:=bijiao(max1,fm,ii); tot:=jia(tot,max1); /tot:=tot+max1;end;beginassign(input,aa.in);reset(input); readln(n,m); init; for i:=1 to n do beginfillchar(f,sizeof(f),0);dp(i);q:=1;end;if tot= then write(0) else write(tot);end.P1055uses math;var fmax,s,fmin:array0.500,0.500of longint;i,j,k,m,n,p:longint;a:array1.300of longint;begin read(n); for i:=1 to n doread(ai); for i:=1 to n-1 do for j:=i to n do si,j:=si,j-1+aj; for p:=1 to n dofor i:=1 to n-1 dobeginj:=i+p;if jn then break;for k:=i to j-1 do beginif fi,j0 thenfmini,j:=min(fmini,j,fmini,k+fmink+1,j+si,j) elsefmini,j:=max(fmini,j,fmini,k+fmink+1,j+si,j);fmaxi,j:=max(fmaxi,j,fmaxi,k+fmaxk+1,j+si,j);end; write(f1,n);end.P1056uses math;var f:array1.200,1.200of longint;i,j,k,m,n,max1,p:longint;head,tail:array1.200of longint;beginassign(input,aa.in);reset(input); read(n); for i:=1 to n do read(headi); for i:=1 to n-1 do taili:=headi+1; tailn:=head1; for i:=n+1 to 2*n-1 do begin headi:=headi-n; taili:=taili-n; end; for p:=1 to n-1 do for i:=1 to 2*n+1 do begin j:=p+i; if j2*n+1 then break; for k:=i to j-1 dofi,j:=max(fi,j,fi,k+fk+1,j+headi*tailk*tailj); end; for i:=1 to n do max1:=max(max1,fi,i+n-1); write(max1);end.P1062uses math;var fmax,fmin,s:array0.300,0.300of longint;a:array1.300of longint;i,j,k,m,n,min1,max1,p:longint;begin read(n,m); for i:=1 to n do read(ai); for i:=n+1 to 2*n-1 do ai:=ai-n; for i:=1 to 2*n-2 dofor j:=i to 2*n-1 do si,j:=si,j-1+aj; for p:=1 to n-1 dofor i:=1 to 2*n-1 do begin j:=p+i; if j2*n-1 then break; for k:=i to j-1 do begin fmaxi,j:=max(fmaxi,j,fmaxi,k+fmaxk+1,j+si,j); if fmini,j0 then fmini,j:=min(fmaxi,j,fmaxi,k+fmaxk+1,j+si,j) else fmini,j:=max(fmaxi,j,fmaxi,k+fmaxk+1,j+si,j); end; end; for i:=1 to n do begin if fmaxi,i+n-10 then max1:=max(max1,fmaxi,i+n-1); if fmini,i+n-10 then min1:=min(min1,fmini,i+n-1); end; if max1m then write(I am.Sha.X) else write(I will go to play WarIII);end.P1066var a:array0.10000of longint;m,n,k,i,j:longint;tot:int64;procedure sift (r,i:longint);var j:integer;begin a0:=ar; j:=r*2; while j=i dobeginif (jaj+1) then j:=j+1;if a0aj then begin ar:=aj; r:=j; j:=2*r; endelse break; end;ar:=a0;end;procedure sort;var i,j,k,t,m,x,y:longint;beginm:=n; for i:=n div 2 downto 1 dosift(i,n); for i:=n-1 downto 1 dobegin x:=a1;a1:=am; sift(1,m-1); dec(m); y:=a1;a1:=x+y; sift(1,m); tot:=tot+x+y; end;end;begin/assign(input,aa.in);reset(input); read(n); for i:=1 to n do read(ai); sort;write(tot);end.P1067uses math;var a:array1.100of longint;i,j,k,max1,max2,n,maxn:integer;f1,f2:array1.100of longint;procedure sheng(i:longint);var j,k:longint;begin max1:=0; for j:=1 to i do f1j:=1; for j:=1 to i dofor k:=j+1 to i do begin if akaj then f1k:=max(f1j+1,f1k); end; for j:=1 to i do max1:=max(max1,f1j);end;procedure jiang(i:longint);var j,k:longint;begin max2:=0; for j:=i+1 to n do f2j:=1; for j:=i+1 to n dofor k:=j+1 to n do beginif akb then exit(a) else exit(b);end;procedure main;var i,j:longint;max1:longint;pp:boolean;begin for i:=1 to n do begin max1:=0; for j:=1 to n do begin if (ai=bj) then fi,j:=max(max1+1,fi,j); fi,j:=max(fi,j,fi-1,j); if fi,jmaxn then maxn:=fi,j; if (max1bj) then max1:=fi-1,j; end; end;end;begin/assign(input,lcis10.in);reset(input); init; main; write(maxn);P1076uses math;var can:array1.25,1.25,0.100 of boolean;a:array1.25,1.25of longint;i,j,k,m,n,max1:longint;begin read(n); for i:=1 to n do for j:=1 to i do begin read(ai,j); ai,j:=ai,j mod 100; end; can1,1,a1,1:=true; for i:=2 to n do for j:=1 to i do for k:=0 to 100 do begin if cani-1,j,k=true then cani,j,(k+ai,j)mod 100:=true; if j1 then if cani-1,j-1,k =true then cani,j,(k+ai,j)mod 100:=true; end; for i:=1 to n do for j:=1 to 100 do if cann,i,j then max1:=max(max1,j); write(max1);end.P1079uses math;var f,a:array0.25,0.25of longint;i,j,k,m,n,tt,max1:longint;begin read(n); for i:=1 to n dofor j:=1 to i do read(ai,j); tt:=n div 2;f1,1:=a1,1; for i:=2 to tt-1 dofor j:=1 to i dobegin fi,j:=max(fi-1,j+ai,j,fi,j); if j1 then fi,j:=max(fi-1,j-1+ai,j,fi,j);end;ftt,tt:=max(ftt-1,tt+att,tt,ftt,tt);if tt1 then ftt,tt:=max(ftt,tt,ftt-1,tt-1+att,tt); for i:=tt+1 to n do for j:=tt to i do begin fi,j:=max(fi-1,j+ai,j,fi,j); if j1 then fi,j:=max(fi,j,fi-1,j-1+ai,j); end; for i:=1 to n do max1:=max(max1,fn,i); write(max1);end.P1084uses math;var f,a:array0.25,0.25of longint;i,j,k,m,n,tt,max1,kk:longint;begin read(n); for i:=1 to n dofor j:=1 to i do read(ai,j); read(tt,kk); f1,1:=a1,1; fo

温馨提示

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

评论

0/150

提交评论