結果
問題 | No.5015 Escape from Labyrinth |
ユーザー | nikoro256 |
提出日時 | 2023-04-15 20:02:47 |
言語 | PyPy3 (7.3.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 2,138 bytes |
コンパイル時間 | 932 ms |
コンパイル使用メモリ | 87,188 KB |
実行使用メモリ | 82,208 KB |
スコア | 0 |
最終ジャッジ日時 | 2023-04-15 20:03:13 |
合計ジャッジ時間 | 21,769 ms |
ジャッジサーバーID (参考情報) |
judge12 / judge11 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | RE | - |
testcase_01 | RE | - |
testcase_02 | RE | - |
testcase_03 | RE | - |
testcase_04 | RE | - |
testcase_05 | RE | - |
testcase_06 | RE | - |
testcase_07 | WA | - |
testcase_08 | RE | - |
testcase_09 | RE | - |
testcase_10 | RE | - |
testcase_11 | RE | - |
testcase_12 | RE | - |
testcase_13 | RE | - |
testcase_14 | RE | - |
testcase_15 | RE | - |
testcase_16 | RE | - |
testcase_17 | RE | - |
testcase_18 | WA | - |
testcase_19 | RE | - |
testcase_20 | WA | - |
testcase_21 | RE | - |
testcase_22 | RE | - |
testcase_23 | RE | - |
testcase_24 | WA | - |
testcase_25 | RE | - |
testcase_26 | RE | - |
testcase_27 | RE | - |
testcase_28 | RE | - |
testcase_29 | RE | - |
testcase_30 | RE | - |
testcase_31 | RE | - |
testcase_32 | RE | - |
testcase_33 | RE | - |
testcase_34 | RE | - |
testcase_35 | RE | - |
testcase_36 | RE | - |
testcase_37 | RE | - |
testcase_38 | RE | - |
testcase_39 | WA | - |
testcase_40 | RE | - |
testcase_41 | RE | - |
testcase_42 | RE | - |
testcase_43 | RE | - |
testcase_44 | RE | - |
testcase_45 | RE | - |
testcase_46 | RE | - |
testcase_47 | RE | - |
testcase_48 | RE | - |
testcase_49 | RE | - |
testcase_50 | RE | - |
testcase_51 | RE | - |
testcase_52 | RE | - |
testcase_53 | RE | - |
testcase_54 | RE | - |
testcase_55 | RE | - |
testcase_56 | RE | - |
testcase_57 | RE | - |
testcase_58 | RE | - |
testcase_59 | RE | - |
testcase_60 | RE | - |
testcase_61 | WA | - |
testcase_62 | RE | - |
testcase_63 | RE | - |
testcase_64 | RE | - |
testcase_65 | RE | - |
testcase_66 | RE | - |
testcase_67 | RE | - |
testcase_68 | RE | - |
testcase_69 | RE | - |
testcase_70 | RE | - |
testcase_71 | RE | - |
testcase_72 | RE | - |
testcase_73 | RE | - |
testcase_74 | RE | - |
testcase_75 | TLE | - |
testcase_76 | -- | - |
testcase_77 | -- | - |
testcase_78 | -- | - |
testcase_79 | -- | - |
testcase_80 | -- | - |
testcase_81 | -- | - |
testcase_82 | -- | - |
testcase_83 | -- | - |
testcase_84 | -- | - |
testcase_85 | -- | - |
testcase_86 | -- | - |
testcase_87 | -- | - |
testcase_88 | -- | - |
testcase_89 | -- | - |
testcase_90 | -- | - |
testcase_91 | -- | - |
testcase_92 | -- | - |
testcase_93 | -- | - |
testcase_94 | -- | - |
testcase_95 | -- | - |
testcase_96 | -- | - |
testcase_97 | -- | - |
testcase_98 | -- | - |
testcase_99 | -- | - |
ソースコード
def firstsolve(): re=[] point=BFS(St,K) for b in BFS_Restoration(K,point)[::-1]: re.append(b) point=BFS(K,G) for b in BFS_Restoration(G,point)[::-1]: re.append(b) return re def BFS_Restoration(end,point): thispoint=point[end[0]*N+end[1]] pos=end re=[pos] while thispoint!=0: for d in [[1,0],[-1,0],[0,1],[0,-1]]: x=pos[0]+d[0] y=pos[1]+d[1] if 0<x<=N and 0<=y<N and point[x*N+y]==thispoint-1: re.append((x,y)) thispoint=point[x*N+y] pos=(x,y) break return re def BFS(pos,end): point=[-1 for _ in range(N*N)] dq=deque() dq.append(pos) while len(dq)!=0: p=dq.popleft() if p==end: break for d in [[1,0],[-1,0],[0,1],[0,-1]]: x=p[0]+d[0] y=p[1]+d[1] if 0<x<=N and 0<=y<N and S[x][y]!='#' and S[x][y]!='E' and point[x*N+y]==-1: dq.append((x,y)) point[x*N+y]=point[p[0]*N+p[1]]+1 return point def changetoans(way): pos=St ans=[] for w in way: d=[[1,0],[-1,0],[0,1],[0,-1]] change=[w[0]-pos[0],w[1]-pos[1]] for i in range(4): if change==d[i]: break ans_d=[] if 0<=i<=3: ans_d.append('M') if i==0: ans_d.append('D') elif i==1: ans_d.append('U') elif i==2: ans_d.append('R') elif i==3: ans_d.append('L') ans.append(ans_d) pos=w return ans import sys from collections import deque input=sys.stdin.readline N,D,H=map(int,input().split()) S=[] St,G,K=(),(),() for i in range(N): S.append(input()) for j in range(N): if S[i][j]=='S': St=(i,j) elif S[i][j]=='G': G=(i,j) elif S[i][j]=='K': K=(i,j) M=int(input()) dic={} for _ in range(M): y,x,d=map(int,input().split()) dic[(y,x)]=d way=firstsolve() print((St,K,G)) print(way) ans=changetoans(way) for a in ans: print(' '.join(a))