aizu_online_judge/grl/
grl_3_c.rs

1#[doc(no_inline)]
2pub use competitive::graph::{DirectedGraphScanner, StronglyConnectedComponent};
3use competitive::prelude::*;
4
5#[verify::aizu_online_judge("GRL_3_C")]
6pub fn grl_3_c(reader: impl Read, mut writer: impl Write) {
7    let s = read_all_unchecked(reader);
8    let mut scanner = Scanner::new(&s);
9    scan!(scanner, vs, es, (graph, _): @DirectedGraphScanner::<usize, ()>::new(vs, es));
10    let scc = StronglyConnectedComponent::new(&graph);
11    scan!(scanner, q);
12    for (u, v) in scanner.iter::<(usize, usize)>().take(q) {
13        writeln!(writer, "{}", (scc[u] == scc[v]) as u32).ok();
14    }
15}