結果

問題 No.3275 Minesweeper on Graph
ユーザー urectanc
提出日時 2025-09-19 21:37:06
言語 Rust
(1.83.0 + proconio)
結果
WA  
実行時間 -
コード長 716 bytes
コンパイル時間 27,102 ms
コンパイル使用メモリ 399,432 KB
実行使用メモリ 7,720 KB
最終ジャッジ日時 2025-09-19 21:38:30
合計ジャッジ時間 16,515 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1 WA * 2
other AC * 13 WA * 27
権限があれば一括ダウンロードができます

ソースコード

diff #

use proconio::{input, marker::Usize1};

fn main() {
    input! {
        n: usize, m: usize,
        a: [usize; n],
        edges: [(Usize1, Usize1); m]
    }

    let mut graph = vec![vec![]; n];
    for &(u, v) in &edges {
        graph[u].push(v);
        graph[v].push(u);
    }

    let ans = (0..1 << n).find(|&bits| {
        (0..n).all(|v| graph[v].iter().filter(|&u| bits >> u & 1 == 1).count() == a[v])
    });

    if let Some(ans) = ans {
        println!("Yes");
        let ans = (0..n)
            .filter(|&v| ans >> v & 1 == 1)
            .map(|v| (v + 1).to_string())
            .collect::<Vec<_>>()
            .join(" ");
        println!("{ans}");
    } else {
        println!("No");
    }
}
0