結果

問題 No.977 アリス仕掛けの摩天楼
ユーザー magurofly
提出日時 2024-06-20 16:34:17
言語 Rust
(1.83.0 + proconio)
結果
WA  
実行時間 -
コード長 705 bytes
コンパイル時間 12,161 ms
コンパイル使用メモリ 402,536 KB
実行使用メモリ 11,904 KB
最終ジャッジ日時 2024-06-20 16:35:03
合計ジャッジ時間 14,020 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 21 WA * 5
権限があれば一括ダウンロードができます
コンパイルメッセージ
warning: variable `N` should have a snake case name
 --> src/main.rs:5:3
  |
5 |         N: usize,
  |         ^ help: convert the identifier to snake case: `n`
  |
  = note: `#[warn(non_snake_case)]` on by default

ソースコード

diff #

const TAKANA: bool = true;

fn main() {
	proconio::input! {
		N: usize,
		edges: [(usize, usize); N - 1],
	}
	
	let mut graph = vec![vec![]; N];
	for &(u, v) in &edges {
		graph[u].push(v);
		graph[v].push(u);
	}
	
	let mut visited = vec![false; N];
	let mut stack = vec![];
	for s in 0 .. N {
		if visited[s] == TAKANA {
			continue;
		}
		let mut size = 0;
		visited[s] = TAKANA;
		stack.push(s);
		while let Some(u) = stack.pop() {
			size += 1;
			for &v in &graph[u] {
				if visited[v] == TAKANA {
					continue;	
				}
				// 歩いた跡に高菜を生やしていく
				visited[v] = TAKANA;
				stack.push(v);
			}
		}
		if size <= 2 {
			println!("Alice");
			return;
		}
	}
	println!("Bob");
}
0