結果

問題 No.3131 Twin Slide Puzzles
ユーザー nasutarou1341
提出日時 2025-04-25 23:18:08
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 721 bytes
コンパイル時間 481 ms
コンパイル使用メモリ 82,092 KB
実行使用メモリ 131,764 KB
最終ジャッジ日時 2025-04-25 23:19:08
合計ジャッジ時間 12,764 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1 WA * 1 RE * 1
other AC * 11 WA * 6 RE * 40
権限があれば一括ダウンロードができます

ソースコード

diff #

import itertools

N = int(input())
A = [list(map(int, input().split())) for _ in range(N)]

yes = "Yes"
no = "No"

def nasu(N, A):
  M = N * N
  R = [{}, {}]
  for D in itertools.permutations(range(M), M):
    t = 0
    n = 0
    v = 0
    for d in D: 
      p, q = divmod(n, N)
      if (p % 2) == (q % 2):
        if d % 2:
          t = 1 - t
      v += d * A[n]
      n += 1
    if v in R[t]:
      return yes, R[t][v], D
    else:
      R[t][v] = D
  return no, [], []

if N >= 4:
  x = 1 / 0
else:
  A2 = []
  for a in A:
    A2.extend(a)
  ans, x, y = nasu(N, A2)
  print(ans)
  if ans == no:
    exit()
  for i in range(N):
    print(*x[i * N: (i + 1) * N])
  for i in range(N):
    print(*y[i * N: (i + 1) * N])
0