結果
問題 |
No.228 ゆきこちゃんの 15 パズル
|
ユーザー |
![]() |
提出日時 | 2015-06-20 00:32:44 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 832 bytes |
コンパイル時間 | 10,667 ms |
コンパイル使用メモリ | 236,320 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-10-10 19:05:23 |
合計ジャッジ時間 | 11,738 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 |
ソースコード
package main import ( "fmt" ) func main() { var x [4][4]int var x2 [4][4]int z := 0 z2 := 1 var si, sj int for i := 0; i < 4; i++ { for j := 0; j < 4; j++ { fmt.Scan(&z) x[i][j] = z x2[i][j] = z2 z2++ if z == 0 { si = i sj = j } } } x2[3][3] = 0 //fmt.Println(x2) a := [4]int{0, 1, 0, -1} b := [4]int{1, 0, -1, 0} for q := 0; q < 16; q++ { for k := 0; k < 4; k++ { if si+a[k] < 0 || si+a[k] > 3 || sj+b[k] < 0 || sj+b[k] > 3 { continue } if x2[si][sj] == x[si+a[k]][sj+b[k]] { x[si+a[k]][sj+b[k]], x[si][sj] = x[si][sj], x[si+a[k]][sj+b[k]] si = si+a[k] sj = sj+b[k] } } } f := 0 for i := 0; i < 4; i++ { for j := 0; j < 4; j++ { if x[i][j] != x2[i][j] { f = 1 } } } if f == 0 { fmt.Println("Yes") } else { fmt.Println("No") } }