結果

問題 No.2267 群の公理
ユーザー kano_suuri
提出日時 2023-04-14 23:06:47
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
AC  
実行時間 38 ms / 2,000 ms
コード長 739 bytes
コンパイル時間 267 ms
コンパイル使用メモリ 12,800 KB
実行使用メモリ 10,880 KB
最終ジャッジ日時 2024-10-10 14:09:03
合計ジャッジ時間 3,132 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 50
権限があれば一括ダウンロードができます

ソースコード

diff #

N = int(input())
L = []
for _ in range(N):
    L.append(list(map(int, input().split())))
check1 = 1
for i in range(N):
    for j in range(N):
        for k in range(N):
            if L[L[i][j]][k] != L[i][L[j][k]]:
                check1 = 0
                break
e = -1
check2 = -1
for i in range(N):
    check2 = 1
    for j in range(N):
        if L[i][j] != j or L[j][i] != j:
            check2 = 0
            break
    if check2 == 1:
        e = i
        break

check3 = -1
for i in range(N):
    check3 = 0
    for j in range(N):
        if L[i][j] == e == L[j][i]:
            check3 = 1
            break
    if check3 == 0:
        break
            
if check1 == check2 == check3 == 1:
    print("Yes")
else:
    print("No")
0