結果
問題 |
No.977 アリス仕掛けの摩天楼
|
ユーザー |
![]() |
提出日時 | 2020-02-04 18:49:47 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 310 ms / 2,000 ms |
コード長 | 508 bytes |
コンパイル時間 | 322 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 22,656 KB |
最終ジャッジ日時 | 2024-09-21 07:39:34 |
合計ジャッジ時間 | 4,800 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 26 |
コンパイルメッセージ
Syntax OK
ソースコード
N = gets.to_i G = Array.new(N){ [] } (N - 1).times do u,v = gets.split.map(&:to_i) G[u] << v G[v] << u end USED = Array.new(N) def bfs(s) q = [s] USED[s] = true until q.empty? u = q.shift G[u].each do |v| if !USED[v] q << v USED[v] = true end end end s end c = N.times.count do |s| bfs(s) if !USED[s] end if c == 1 puts "Bob" elsif c >= 3 puts "Alice" else puts N.times.all?{|i| G[i].size == 2 || G[i].size == 0 } ? "Bob" : "Alice" end