結果
問題 |
No.228 ゆきこちゃんの 15 パズル
|
ユーザー |
|
提出日時 | 2018-10-19 10:53:26 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 29 ms / 5,000 ms |
コード長 | 1,610 bytes |
コンパイル時間 | 238 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 10,880 KB |
最終ジャッジ日時 | 2024-11-16 10:36:29 |
合計ジャッジ時間 | 1,581 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 |
ソースコード
l = [] ans_l = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,0]] N_f = 0 for i in range(4): l.append(list(map(int, input().split()))) while l[3][3] != 0: ue = migi = shita = hidari = 0 f = 0 for i in range(4): for j in range (4): if l[i][j] == 0: try: ue = l[i-1][j] except: pass try: migi = l[i][j+1] except: pass try: shita = l[i+1][j] except: pass try: hidari = l[i][j-1] except: pass if ue == ans_l[i][j]: l[i][j], l[i-1][j] = l[i-1][j], l[i][j] f = 1 break elif migi == ans_l[i][j]: l[i][j], l[i][j+1] = l[i][j+1], l[i][j] f = 1 break elif shita == ans_l[i][j]: l[i][j], l[i+1][j] = l[i+1][j], l[i][j] f = 1 break elif hidari == ans_l[i][j]: l[i][j], l[i][j-1] = l[i][j-1], l[i][j] f = 1 break else: N_f = 1 break if N_f == 1 or f == 1: f = 0 break if N_f == 1: break if N_f == 1: print("No") else: if l == ans_l: print("Yes") else: print("No")