Submission #41325020
Source Code Expand
use std::collections::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 main() {
input! {
n: usize,
m: usize,
ab: [(Usize1, Usize1); m],
}
let edges = adjacency_list(n, &ab);
let inf = n + 1;
let mut dist = vec![inf; n];
let mut deque = VecDeque::new();
deque.push_back(0);
dist[0] = 0;
while let Some(u) = deque.pop_front() {
for v in edges[u].iter().copied() {
if dist[v] == inf {
dist[v] = dist[u] + 1;
deque.push_back(v);
}
}
}
if dist[n - 1] == 2 {
println!("POSSIBLE");
} else {
println!("IMPOSSIBLE");
}
}
Submission Info
| Submission Time | |
|---|---|
| Task | C - Cat Snuke and a Voyage |
| User | bouzuya |
| Language | Rust (1.42.0) |
| Score | 300 |
| Code Size | 885 Byte |
| Status | AC |
| Exec Time | 71 ms |
| Memory | 22252 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 300 / 300 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | example0, example1, example2, example3 |
| All | example0, example1, example2, example3, last0, last1, many0, many1, rand0, rand1, rand2 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| example0 | AC | 8 ms | 2096 KiB |
| example1 | AC | 1 ms | 2108 KiB |
| example2 | AC | 6 ms | 4988 KiB |
| example3 | AC | 1 ms | 2096 KiB |
| last0 | AC | 71 ms | 21336 KiB |
| last1 | AC | 70 ms | 21284 KiB |
| many0 | AC | 52 ms | 22252 KiB |
| many1 | AC | 52 ms | 22212 KiB |
| rand0 | AC | 50 ms | 16416 KiB |
| rand1 | AC | 68 ms | 20484 KiB |
| rand2 | AC | 41 ms | 15176 KiB |