2023-04-10 PAST #1 E を解いた
- PAST #1 E - SNS のログを解いた。
https://atcoder.jp/contests/past201912-open/tasks/past201912_e
- https://atcoder.jp/contests/past201912-open/submissions/40517712
- フォローしている人・フォローされている人を持って単純にシミュレートする
- 自分自身のフォローができないことを忘れて 3WA
use std::collections::HashSet;
use proconio::{input, marker::Usize1};
fn main() {
input! {
n: usize,
q: usize,
}
let mut follows = vec![HashSet::new(); n];
let mut followers = vec![HashSet::new(); n];
for _ in 0..q {
input! {
t: usize,
a: Usize1,
}
match t {
1 => {
input! {
b: Usize1,
}
follows[a].insert(b);
followers[b].insert(a);
}
2 => {
for b in followers[a].clone() {
follows[a].insert(b);
followers[b].insert(a);
}
}
3 => {
let mut bs = HashSet::new();
for x in follows[a].clone() {
for b in follows[x].clone() {
bs.insert(b);
}
}
for b in bs {
follows[a].insert(b);
followers[b].insert(a);
}
}
_ => unreachable!(),
}
}
for i in 0..n {
for j in 0..n {
print!(
"{}",
if i != j && follows[i].contains(&j) {
"Y"
} else {
"N"
}
);
}
println!();
}
}
今日のコミット。