結果
問題 |
No.228 ゆきこちゃんの 15 パズル
|
ユーザー |
|
提出日時 | 2016-02-28 00:16:19 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 88 ms / 5,000 ms |
コード長 | 457 bytes |
コンパイル時間 | 67 ms |
コンパイル使用メモリ | 7,552 KB |
実行使用メモリ | 12,288 KB |
最終ジャッジ日時 | 2024-12-26 06:02:47 |
合計ジャッジ時間 | 2,616 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 |
コンパイルメッセージ
Syntax OK
ソースコード
#!/usr/bin/ruby def perm r=0 A.size.times{|i| (i+1..A.size-1).each{|j| r+=1 if A[i]>A[j] } } r end a=$<.map{|e|e.split.map(&:to_i)} A=[] ds=0 d0=0 parity=nil 4.times{|y|4.times{|x| k=a[y][x] if k>0 A<<k k-=1 ty,tx=k.divmod(4) d=(y-ty).abs+(x-tx).abs ds+=d if d>1 puts :No exit end else tx=ty=3 parity=(y-ty).abs d0=(y-ty).abs+(x-tx).abs end }} if (ds==0)!=(d0==0) puts :No exit end puts [:Yes,:No][(perm+parity)%2]