結果
| 問題 |
No.2121 帰属関係と充足可能性
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2022-11-04 22:17:31 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 110 ms / 2,000 ms |
| コード長 | 591 bytes |
| コンパイル時間 | 372 ms |
| コンパイル使用メモリ | 7,424 KB |
| 実行使用メモリ | 12,416 KB |
| 最終ジャッジ日時 | 2024-07-18 22:16:08 |
| 合計ジャッジ時間 | 5,778 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 49 |
コンパイルメッセージ
Syntax OK
ソースコード
N=gets.to_i
A=gets.split.map &:to_i
if N==5
puts A[0]==A[1]&&A[5]!=A[2]&&A[2]!=A[1]&&A[2]!=A[3]&&A[2]!=A[4]&&A[0]!=A[5] ? "YES" : "NO"
exit
end
v=[]
N.times{
v=(0...2**v.size).map{|i|
t=[]
(0...v.size).each{|j|i[j]==1&&t<<v[j]}
t
}
}
sv=v.map &:to_s
puts [*0...v.size].repeated_permutation(3).any?{|m|
mA0=v[m[A[0]]].map &:to_s
mA1=v[m[A[1]]].map &:to_s
mA2=v[m[A[2]]].map &:to_s
sv.all?{|x|!mA0.include?(x)||mA1.include?(x)}&&
mA2.include?(sv[m[A[1]]])&&
mA2.include?(sv[m[A[3]]])&&
mA2.include?(sv[m[A[4]]])&&
mA0.include?(sv[m[A[5]]])
} ? "YES" : "NO"