結果
| 問題 |
No.977 アリス仕掛けの摩天楼
|
| ユーザー |
H Shibusawa
|
| 提出日時 | 2020-11-15 12:41:05 |
| 言語 | C++17(clang) (17.0.6 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 103 ms / 2,000 ms |
| コード長 | 1,692 bytes |
| コンパイル時間 | 3,387 ms |
| コンパイル使用メモリ | 166,868 KB |
| 実行使用メモリ | 9,984 KB |
| 最終ジャッジ日時 | 2024-07-23 01:11:18 |
| 合計ジャッジ時間 | 4,102 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 26 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define rep(i,n) for(int i=0; i<(int)n; i++)
#define rep1(i,n) for(int i=1; i<(int)n; i++)
#define repa(i,a,n) for(int i=(a); i<(int)(n); i++)
#define all(vec) vec.begin(),vec.end()
#define COUT(x) cout<<(x)<<endl
#define YES(x) cout<<(x?"YES":"NO")<<endl
#define Yes(x) cout<<(x?"Yes":"No")<<endl
#define F first
#define S second
using vi = vector<int>;
using vs = vector<string>;
using vvi = vector<vi>;
using pii = pair<int, int>;
using vpii = vector<pii>;
const int dx[4] = {1, 0,-1, 0};
const int dy[4] = {0, 1, 0,-1};
int gcd(int a, int b){if(a%b == 0){return(b);}else{return(gcd(b, a%b));}}
int lcm(int a, int b){return a/gcd(a, b)*b;}
template <typename T> bool chmax(T &a,const T& b){if(a<b){a=b;return true;}return false;}
template <typename T> bool chmin(T &a,const T& b){if(a>b){a=b;return true;}return false;}
//cout << fixed << setprecision(15);
int N, M, K, H, W, X, Y;
string S,T;
const int INF = 1e18;
// const int mod = 1e9+7;
vvi gr;
vector<bool> seen;
void dfs(int a){
seen[a] = true;
for(int i : gr[a]){
if(seen[i]==false) dfs(i);
}
return;
}
signed main(){
cin >> N;
vi brg(N,0);
gr.resize(N);
rep(i,N-1){
int a, b; cin >> a >> b;
brg[a]++;
brg[b]++;
gr[a].push_back(b);
gr[b].push_back(a);
}
seen.assign(N,false);
int cnt = 0;
rep(i,N){
if(seen[i]==false) {dfs(i); cnt++;}
}
int cnt1 = 0;
rep(i,N){
if(brg[i]==1) cnt1++;
}
if(cnt == 1) COUT("Bob");
else if(cnt > 2) COUT("Alice");
else if(cnt1 == 0) COUT("Bob");
else COUT("Alice");
return 0;
}
H Shibusawa