結果
| 問題 | No.228 ゆきこちゃんの 15 パズル | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2016-10-10 21:15:20 | 
| 言語 | Python2 (2.7.18) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 26 ms / 5,000 ms | 
| コード長 | 629 bytes | 
| コンパイル時間 | 53 ms | 
| コンパイル使用メモリ | 6,912 KB | 
| 実行使用メモリ | 8,320 KB | 
| 最終ジャッジ日時 | 2024-11-22 01:08:30 | 
| 合計ジャッジ時間 | 1,438 ms | 
| ジャッジサーバーID (参考情報) | judge1 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 17 | 
ソースコード
# -*- coding: utf-8 -*-
import sys,copy,math,heapq,itertools as it,fractions,re,bisect,collections as coll
dxy = zip([1, 0, -1, 0], [0, 1, 0, -1])
def slide(x, y):
    k = b[y][x]
    if k == 0: return -1, -1 
    for dx, dy in dxy:
        nx, ny = x + dx, y + dy
        if 0 <= nx < 4 and 0 <= ny < 4 and a[ny][nx] == k:
            a[y][x], a[ny][nx] = a[ny][nx], a[y][x]
            return nx, ny
    return -1, -1 
a = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 0]]
b = [map(int, raw_input().split()) for i in xrange(4)]
x, y = 3, 3
while x != -1:
    x, y = slide(x, y)
print "Yes" if a == b else "No"
            
            
            
        