結果

問題 No.367 ナイトの転身
ユーザー むらためむらため
提出日時 2019-02-05 12:50:29
言語 Nim
(2.0.2)
結果
WA  
実行時間 -
コード長 625 bytes
コンパイル時間 3,574 ms
コンパイル使用メモリ 67,296 KB
実行使用メモリ 14,880 KB
最終ジャッジ日時 2024-07-01 11:25:54
合計ジャッジ時間 8,536 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 WA -
testcase_01 WA -
testcase_02 AC 1 ms
6,940 KB
testcase_03 WA -
testcase_04 WA -
testcase_05 AC 1 ms
6,944 KB
testcase_06 AC 2 ms
6,940 KB
testcase_07 AC 2 ms
6,940 KB
testcase_08 WA -
testcase_09 WA -
testcase_10 WA -
testcase_11 TLE -
testcase_12 -- -
testcase_13 -- -
testcase_14 -- -
testcase_15 -- -
testcase_16 -- -
testcase_17 -- -
testcase_18 -- -
testcase_19 -- -
testcase_20 -- -
testcase_21 -- -
testcase_22 -- -
testcase_23 -- -
testcase_24 -- -
testcase_25 -- -
testcase_26 -- -
権限があれば一括ダウンロードができます

ソースコード

diff #

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
0