結果
| 問題 |
No.2267 群の公理
|
| コンテスト | |
| ユーザー |
👑 Kazun
|
| 提出日時 | 2023-04-14 21:26:06 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 44 ms / 2,000 ms |
| コード長 | 709 bytes |
| コンパイル時間 | 948 ms |
| コンパイル使用メモリ | 82,392 KB |
| 実行使用メモリ | 61,176 KB |
| 最終ジャッジ日時 | 2024-10-10 12:09:01 |
| 合計ジャッジ時間 | 3,910 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 50 |
ソースコード
def solve():
N=int(input())
G=[[None] for _ in range(N)]
for i in range(N):
G[i]=list(map(int,input().split()))
# 結合則
for x in range(N):
for y in range(N):
for z in range(N):
xy=G[x][y]
yz=G[y][z]
if G[xy][z]!=G[x][yz]:
return False
# 単位元の存在
e=-1
for x in range(N):
if all(G[x][y]==G[y][x]==y for y in range(N)):
e=x
if e==-1:
return False
# 逆元の存在
return all(any(G[x][y]==G[y][x]==e for y in range(N)) for x in range(N))
#==================================================
print("Yes" if solve() else "No")
Kazun