結果
| 問題 | No.367 ナイトの転身 | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2019-02-05 12:50:29 | 
| 言語 | Nim (2.2.0) | 
| 結果 | 
                                WA
                                 
                             | 
| 実行時間 | - | 
| コード長 | 625 bytes | 
| コンパイル時間 | 3,574 ms | 
| コンパイル使用メモリ | 67,296 KB | 
| 実行使用メモリ | 14,880 KB | 
| 最終ジャッジ日時 | 2024-07-01 11:25:54 | 
| 合計ジャッジ時間 | 8,536 ms | 
| ジャッジサーバーID (参考情報) | judge3 / judge1 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 4 WA * 7 TLE * 1 -- * 15 | 
ソースコード
import sequtils,strutils var hw=stdin.readLine.split.map parseInt h=hw[0] w=hw[1] M=newSeqWith h:stdin.readLine g,o:int q=newSeq[(int,int,int,int)]() D=newSeqWith w:newSeqWith h:[9999,9999] for y in 0..<h:(for x in 0..<w:(if M[y][x]=='S':(D[x][y][0]=0;q&=(x,y,1,0));if M[y][x]=='G':(g=x;o=y))) while q.len>0:(let(x,y,k,f)=q[0];q=q[1..^1];for d in[@[(1,1),(-1,-1),(1,-1),(-1,1)],@[(1,2),(2,1),(-1,-2),(-2,-1),(-1,2),(-2,1),(1,-2),(2,-1)]][k]:(let(n,m)=(x+d[0],y+d[1]);if n in 0..<w and m in 0..<h:(if n==g and m==o:quit $(f+1),0;var z=k;if M[m][n]=='R':z=1-k;if D[n][m][z]>f+1:(D[n][m][z]=f+1;q&=(n,m,z,f+1))))) echo -1
