結果
| 問題 | 
                            No.2267 群の公理
                             | 
                    
| コンテスト | |
| ユーザー | 
                             shobonvip
                         | 
                    
| 提出日時 | 2023-04-14 21:26:30 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 46 ms / 2,000 ms | 
| コード長 | 617 bytes | 
| コンパイル時間 | 886 ms | 
| コンパイル使用メモリ | 81,920 KB | 
| 実行使用メモリ | 59,904 KB | 
| 最終ジャッジ日時 | 2024-10-10 12:09:57 | 
| 合計ジャッジ時間 | 3,508 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge3 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 50 | 
ソースコード
n = int(input())
a = [list(map(int,input().split())) for i in range(n)]
great = 0
ars = 0
for i in range(n):
	# e = i
	mode = 1
	for j in range(n):
		if not (a[i][j] == a[j][i] == j):
			mode = 0
	if mode:
		great = 1
		ars = i
		break
if great == 0:
	print("No")
	exit()
mode = 1
for i in range(n):
	for j in range(n):
		for k in range(n):
			if a[a[i][j]][k] != a[i][a[j][k]]:
				mode = 0
if mode == 0:
	print("No")
	exit()
# 逆元
mode = 1
for i in range(n):
	tar = 0
	for j in range(n):
		if a[i][j] == a[j][i] == ars:
			tar = 1
	if tar == 0:
		mode = 0
		break
if mode:
	print("Yes")
else:
	print("No")
            
            
            
        
            
shobonvip