程序博客网 > 亚马逊阅读kindle软件
来源:互联网 发布:亚马逊阅读kindle软件 编辑:程序博客网 时间:2024/04/26 22:57
4 4 2PLLPPPLPPPPPPLLP
5
Data Constraint
uses math;var a,b,c,q1,q2,i,k,ans,j:longint; bz:array[1..100,1..100,0..100]of longint; v:array[1..1000000,1..4]of longint; t:array[1..4,1..2]of longint=((1,0),(0,1),(-1,0),(0,-1)); r:array[1..100,1..100]of char;begin //assign(input,'1.in');reset(input); readln(a,b,c); inc(q2); fillchar(bz,sizeof(bz),127); v[q2,1]:=1; v[q2,2]:=1; v[q2,3]:=0; v[q2,4]:=0; for i:=1 to a do begin for j:=1 to b do begin read(r[i,j]); end; readln; end; ans:=maxlongint; while q1<q2 do begin inc(q1); for i:=1 to 4 do begin if (v[q1,1]+t[i,1]>0)and(v[q1,1]+t[i,1]<=a) and(v[q1,2]+t[i,2]>0)and(v[q1,2]+t[i,2]<=b) and(r[v[q1,1]+t[i,1],v[q1,2]+t[i,2]]='P')then begin if (bz[v[q1,1]+t[i,1],v[q1,2]+t[i,2],v[q1,4]]>v[q1,3]+1) then begin inc(q2); v[q2,1]:=v[q1,1]+t[i,1]; v[q2,2]:=v[q1,2]+t[i,2]; v[q2,3]:=v[q1,3]+1; v[q2,4]:=v[q1,4]; bz[v[q2,1],v[q2,2],v[q2,4]]:=v[q2,3]; if (v[q2,1]=a)and(v[q2,2]=b) then ans:=min(ans,v[q2,3]); end; end; for k:=1 to (c-v[q1,4]) do begin if (v[q1,1]+(t[i,1]*k)>0)and(v[q1,1]+(t[i,1]*k)<=a) and(v[q1,2]+(t[i,2]*k)>0)and(v[q1,2]+(t[i,2]*k)<=b) and(r[v[q1,1]+(t[i,1]*k),v[q1,2]+(t[i,2]*k)]='P')then begin if (bz[v[q1,1]+(t[i,1]*k),v[q1,2]+(t[i,2]*k),v[q1,4]+k]>v[q1,3]+1) then begin inc(q2); v[q2,1]:=v[q1,1]+(t[i,1]*k); v[q2,2]:=v[q1,2]+(t[i,2]*k); v[q2,3]:=v[q1,3]+1; v[q2,4]:=v[q1,4]+k; bz[v[q2,1],v[q2,2],v[q2,4]]:=v[q2,3]; if (v[q2,1]=a)and(v[q2,2]=b) then ans:=min(ans,v[q2,3]); end; end; end; end; end; if ans=maxlongint then writeln('impossible') else writeln(ans); close(input);end.