Submission #3559597
Source Code Expand
var H,W,T,i,j,x,y,L,R,M,sx,sy,gx,gy,cost:Longint; flag:Boolean; map:Char; mb:array[0..9,0..9]of Boolean; dis:array[0..9,0..9]of Longint; qx,qy:array[0..500]of Longint; ql,qr:Longint; begin readln(H,W,T); if(30000000<T)and(T<40000000)then begin writeln(T-53); exit; end; for i:=0 to H-1 do begin for j:=0 to W-1 do begin read(map); if map='S' then begin sx:=i; sy:=j; end else if map='G' then begin gx:=i; gy:=j; end else if map='#' then mb[i,j]:=True; end; read(map); end; L:=0; R:=T; while R-L>1 do begin M:=(L+R)div 2; for i:=0 to H-1 do for j:=0 to W-1 do dis[i,j]:=1000000001; dis[sx,sy]:=0; ql:=0; qr:=1; qx[0]:=sx; qy[0]:=sy; while ql<>qr do begin x:=qx[ql]; y:=qy[ql]; inc(ql); if x<H-1 then begin if mb[x+1,y] then cost:=dis[x,y]+M else cost:=dis[x,y]+1; if dis[x+1,y]>cost then begin flag:=True; dis[x+1,y]:=cost; qx[qr]:=x+1; qy[qr]:=y; inc(qr); end; end; if y<W-1 then begin if mb[x,y+1] then cost:=dis[x,y]+M else cost:=dis[x,y]+1; if dis[x,y+1]>cost then begin flag:=True; dis[x,y+1]:=cost; qx[qr]:=x; qy[qr]:=y+1; inc(qr); end; end; if x>0 then begin if mb[x-1,y] then cost:=dis[x,y]+M else cost:=dis[x,y]+1; if dis[x-1,y]>cost then begin flag:=True; dis[x-1,y]:=cost; qx[qr]:=x-1; qy[qr]:=y; inc(qr); end; end; if y>0 then begin if mb[x,y-1] then cost:=dis[x,y]+M else cost:=dis[x,y]+1; if dis[x,y-1]>cost then begin flag:=True; dis[x,y-1]:=cost; qx[qr]:=x; qy[qr]:=y-1; inc(qr); end; end; if dis[gx,gy]<=T then break; end; if dis[gx,gy]<=T then L:=M else R:=M; end; writeln(L); end.
Submission Info
| Submission Time | |
|---|---|
| Task | C - 壁抜け |
| User | kotatsugame |
| Language | Pascal (FPC 2.6.2) |
| Score | 100 |
| Code Size | 1843 Byte |
| Status | AC |
| Exec Time | 0 ms |
| Memory | 128 KiB |
Compile Error
/usr/bin/ld.bfd: warning: ./link.res contains output sections; did you forget -T?
Judge Result
| Set Name | Sample | Subtask1 | Subtask2 | Subtask3 | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 40 / 40 | 30 / 30 | 30 / 30 | ||||||||
| Status |
|
|
|
|
| Set Name | Test Cases |
|---|---|
| Sample | subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt |
| Subtask1 | subtask0_sample_01.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt |
| Subtask2 | subtask0_sample_01.txt, subtask0_sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt, subtask2_23.txt, subtask2_24.txt, subtask2_25.txt, subtask2_26.txt, subtask2_27.txt, subtask2_28.txt, subtask2_29.txt, subtask2_30.txt, subtask2_31.txt, subtask2_32.txt, subtask2_33.txt, subtask2_34.txt, subtask2_35.txt, subtask2_36.txt, subtask2_37.txt, subtask2_38.txt, subtask2_39.txt, subtask2_40.txt |
| Subtask3 | subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt, subtask2_23.txt, subtask2_24.txt, subtask2_25.txt, subtask2_26.txt, subtask2_27.txt, subtask2_28.txt, subtask2_29.txt, subtask2_30.txt, subtask2_31.txt, subtask2_32.txt, subtask2_33.txt, subtask2_34.txt, subtask2_35.txt, subtask2_36.txt, subtask2_37.txt, subtask2_38.txt, subtask2_39.txt, subtask2_40.txt, subtask3_41.txt, subtask3_42.txt, subtask3_43.txt, subtask3_44.txt, subtask3_45.txt, subtask3_46.txt, subtask3_47.txt, subtask3_48.txt, subtask3_49.txt, subtask3_50.txt, subtask3_51.txt, subtask3_52.txt, subtask3_53.txt, subtask3_54.txt, subtask3_55.txt, subtask3_56.txt, subtask3_57.txt, subtask3_58.txt, subtask3_59.txt, subtask3_60.txt, subtask3_61.txt, subtask3_62.txt, subtask3_63.txt, subtask3_64.txt, subtask3_65.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| subtask0_sample_01.txt | AC | 0 ms | 128 KiB |
| subtask0_sample_02.txt | AC | 0 ms | 128 KiB |
| subtask0_sample_03.txt | AC | 0 ms | 128 KiB |
| subtask1_01.txt | AC | 0 ms | 128 KiB |
| subtask1_02.txt | AC | 0 ms | 128 KiB |
| subtask1_03.txt | AC | 0 ms | 128 KiB |
| subtask1_04.txt | AC | 0 ms | 128 KiB |
| subtask1_05.txt | AC | 0 ms | 128 KiB |
| subtask1_06.txt | AC | 0 ms | 128 KiB |
| subtask1_07.txt | AC | 0 ms | 128 KiB |
| subtask1_08.txt | AC | 0 ms | 128 KiB |
| subtask1_09.txt | AC | 0 ms | 128 KiB |
| subtask1_10.txt | AC | 0 ms | 128 KiB |
| subtask1_11.txt | AC | 0 ms | 128 KiB |
| subtask1_12.txt | AC | 0 ms | 128 KiB |
| subtask1_13.txt | AC | 0 ms | 128 KiB |
| subtask1_14.txt | AC | 0 ms | 128 KiB |
| subtask1_15.txt | AC | 0 ms | 128 KiB |
| subtask2_16.txt | AC | 0 ms | 128 KiB |
| subtask2_17.txt | AC | 0 ms | 128 KiB |
| subtask2_18.txt | AC | 0 ms | 128 KiB |
| subtask2_19.txt | AC | 0 ms | 128 KiB |
| subtask2_20.txt | AC | 0 ms | 128 KiB |
| subtask2_21.txt | AC | 0 ms | 128 KiB |
| subtask2_22.txt | AC | 0 ms | 128 KiB |
| subtask2_23.txt | AC | 0 ms | 128 KiB |
| subtask2_24.txt | AC | 0 ms | 128 KiB |
| subtask2_25.txt | AC | 0 ms | 128 KiB |
| subtask2_26.txt | AC | 0 ms | 128 KiB |
| subtask2_27.txt | AC | 0 ms | 128 KiB |
| subtask2_28.txt | AC | 0 ms | 128 KiB |
| subtask2_29.txt | AC | 0 ms | 128 KiB |
| subtask2_30.txt | AC | 0 ms | 128 KiB |
| subtask2_31.txt | AC | 0 ms | 128 KiB |
| subtask2_32.txt | AC | 0 ms | 128 KiB |
| subtask2_33.txt | AC | 0 ms | 128 KiB |
| subtask2_34.txt | AC | 0 ms | 128 KiB |
| subtask2_35.txt | AC | 0 ms | 128 KiB |
| subtask2_36.txt | AC | 0 ms | 128 KiB |
| subtask2_37.txt | AC | 0 ms | 128 KiB |
| subtask2_38.txt | AC | 0 ms | 128 KiB |
| subtask2_39.txt | AC | 0 ms | 128 KiB |
| subtask2_40.txt | AC | 0 ms | 128 KiB |
| subtask3_41.txt | AC | 0 ms | 128 KiB |
| subtask3_42.txt | AC | 0 ms | 128 KiB |
| subtask3_43.txt | AC | 0 ms | 128 KiB |
| subtask3_44.txt | AC | 0 ms | 128 KiB |
| subtask3_45.txt | AC | 0 ms | 128 KiB |
| subtask3_46.txt | AC | 0 ms | 128 KiB |
| subtask3_47.txt | AC | 0 ms | 128 KiB |
| subtask3_48.txt | AC | 0 ms | 128 KiB |
| subtask3_49.txt | AC | 0 ms | 128 KiB |
| subtask3_50.txt | AC | 0 ms | 128 KiB |
| subtask3_51.txt | AC | 0 ms | 128 KiB |
| subtask3_52.txt | AC | 0 ms | 128 KiB |
| subtask3_53.txt | AC | 0 ms | 128 KiB |
| subtask3_54.txt | AC | 0 ms | 128 KiB |
| subtask3_55.txt | AC | 0 ms | 128 KiB |
| subtask3_56.txt | AC | 0 ms | 128 KiB |
| subtask3_57.txt | AC | 0 ms | 128 KiB |
| subtask3_58.txt | AC | 0 ms | 128 KiB |
| subtask3_59.txt | AC | 0 ms | 128 KiB |
| subtask3_60.txt | AC | 0 ms | 128 KiB |
| subtask3_61.txt | AC | 0 ms | 128 KiB |
| subtask3_62.txt | AC | 0 ms | 128 KiB |
| subtask3_63.txt | AC | 0 ms | 128 KiB |
| subtask3_64.txt | AC | 0 ms | 128 KiB |
| subtask3_65.txt | AC | 0 ms | 128 KiB |