午後くらいからひどく頭が痛い。寝る。
- 第12回 アルゴリズム実技検定 (PAST #12) 過去問 D - 採点
https://atcoder.jp/contests/past202209-open/tasks/past202209_d
- https://atcoder.jp/contests/past202209-open/submissions/42098229
- 指示された条件を満たすかを確かめる
1..=n
に含まれるかとu != v
かと既に追加した辺ではないかの 3 点u < v
という制約はないので、既に追加した辺を set に入れる際は注意する
use std::collections::HashSet; use proconio::{input, marker::Usize1}; fn main() { input! { n: usize, m: usize, uv: [(Usize1, Usize1); m], }; let mut edges = HashSet::new(); for (u, v) in uv { if !(0..n).contains(&u) || !(0..n).contains(&v) { println!("No"); return; } if u == v { println!("No"); return; } if !edges.insert((u.min(v), u.max(v))) { println!("No"); return; } } println!("Yes"); }
今日のコミット。