Submission #37926054
Source Code Expand
use std::collections::{HashMap, VecDeque}; use proconio::{input, marker::Usize1}; fn adjacency_list(n: usize, uv: &[(usize, usize)]) -> Vec<Vec<usize>> { let mut e = vec![vec![]; n]; for (u, v) in uv.iter().copied() { e[u].push(v); e[v].push(u); } e } fn bfs(n: usize, edges: &[Vec<usize>]) -> Vec<usize> { let mut color = 0_usize; let mut colors = vec![n; n]; for start in 0..n { if colors[start] == n { let mut deque = VecDeque::new(); deque.push_back(start); colors[start] = color; while let Some(u) = deque.pop_front() { for v in edges[u].iter().copied() { if colors[v] == n { colors[v] = color; deque.push_back(v); } } } color += 1; } } colors } fn main() { input! { n: usize, k: usize, l: usize, pq: [(Usize1, Usize1); k], rs: [(Usize1, Usize1); l], }; let e1 = adjacency_list(n, &pq); let e2 = adjacency_list(n, &rs); let c1 = bfs(n, &e1); let c2 = bfs(n, &e2); let mut count = HashMap::new(); for zipped in c1.iter().copied().zip(c2.iter().copied()) { *count.entry(zipped).or_insert(0) += 1; } for zipped in c1.iter().copied().zip(c2.iter().copied()) { println!("{}", count.get(&zipped).unwrap()); } }
Submission Info
Submission Time | |
---|---|
Task | D - Connectivity |
User | bouzuya |
Language | Rust (1.42.0) |
Score | 400 |
Code Size | 1478 Byte |
Status | AC |
Exec Time | 409 ms |
Memory | 37488 KiB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | subtask0_0.txt, subtask0_1.txt, subtask0_2.txt |
All | subtask0_0.txt, subtask0_1.txt, subtask0_2.txt, subtask1_0.txt, subtask1_1.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_2.txt, subtask1_3.txt, subtask1_4.txt, subtask1_5.txt, subtask1_6.txt, subtask1_7.txt, subtask1_8.txt, subtask1_9.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
subtask0_0.txt | AC | 7 ms | 2048 KiB |
subtask0_1.txt | AC | 3 ms | 2044 KiB |
subtask0_2.txt | AC | 1 ms | 2156 KiB |
subtask1_0.txt | AC | 36 ms | 11552 KiB |
subtask1_1.txt | AC | 385 ms | 33048 KiB |
subtask1_10.txt | AC | 38 ms | 12204 KiB |
subtask1_11.txt | AC | 345 ms | 31600 KiB |
subtask1_12.txt | AC | 373 ms | 35508 KiB |
subtask1_13.txt | AC | 397 ms | 36132 KiB |
subtask1_14.txt | AC | 331 ms | 29732 KiB |
subtask1_2.txt | AC | 294 ms | 26836 KiB |
subtask1_3.txt | AC | 398 ms | 36716 KiB |
subtask1_4.txt | AC | 355 ms | 34864 KiB |
subtask1_5.txt | AC | 38 ms | 12200 KiB |
subtask1_6.txt | AC | 327 ms | 30544 KiB |
subtask1_7.txt | AC | 395 ms | 36056 KiB |
subtask1_8.txt | AC | 409 ms | 37488 KiB |
subtask1_9.txt | AC | 291 ms | 27832 KiB |