結果
問題 | No.2090 否定論理積と充足可能性 |
ユーザー |
|
提出日時 | 2022-10-01 14:14:03 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 1 ms / 2,000 ms |
コード長 | 765 bytes |
コンパイル時間 | 15,266 ms |
コンパイル使用メモリ | 378,024 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-23 19:07:55 |
合計ジャッジ時間 | 16,510 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 20 |
ソースコード
use std::collections::{BTreeSet, HashMap};fn main() {let mut temp = String::new();std::io::stdin().read_line(&mut temp).ok();let temp: Vec<&str> = temp.trim().split_whitespace().collect();let tset = temp.iter().copied().collect::<BTreeSet<_>>();let mut mapping = HashMap::new();for (i, &v) in tset.iter().enumerate() {mapping.insert(v, i);}let a = (0..6).map(|i| *mapping.get(&temp[i]).unwrap()).collect::<Vec<usize>>();for i in 0..1<<tset.len() {let flgs = (0..6).map(|j| ((i >> a[j]) & 1) == 1).collect::<Vec<bool>>();if !(!(!(flgs[0] && flgs[1]) && flgs[2]) && !(!(flgs[3] && flgs[4]) && flgs[5])) {println!("YES");return;}}println!("NO");}