結果
| 問題 |
No.2267 群の公理
|
| コンテスト | |
| ユーザー |
siman
|
| 提出日時 | 2023-04-17 22:00:18 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 93 ms / 2,000 ms |
| コード長 | 678 bytes |
| コンパイル時間 | 355 ms |
| コンパイル使用メモリ | 7,424 KB |
| 実行使用メモリ | 12,288 KB |
| 最終ジャッジ日時 | 2024-10-12 22:21:11 |
| 合計ジャッジ時間 | 6,559 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 50 |
コンパイルメッセージ
Syntax OK
ソースコード
N = gets.to_i
X = N.times.map { gets.split.map(&:to_i) }
def f
N.times do |n0|
N.times do |n1|
N.times do |n2|
v1 = X[n0][n1]
v2 = X[v1][n2]
v3 = X[n1][n2]
v4 = X[n0][v3]
return false if v2 != v4
end
end
end
true
end
def check(e)
cond1 = true
N.times do |n|
cond1 &= (X[n][e] == n)
cond1 &= (X[e][n] == n)
end
cond2 = true
N.times do |n|
res = false
N.times do |i|
res |= ((X[n][i] == e) && (X[i][n] == e))
end
cond2 &= res
end
cond1 && cond2
end
if not f()
puts 'No'
exit
end
N.times do |e|
if check(e)
puts 'Yes'
exit
end
end
puts 'No'
siman