QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#744468 | #7786. Graft and Transplant | yld# | WA | 1ms | 3820kb | C++20 | 992b | 2024-11-13 22:01:42 | 2024-11-13 22:01:43 |
Judging History
answer
#include<bits/stdc++.h>
#define int long long
#define endl '\n'
using namespace std;
void solve()
{
int n;
cin>>n;
// if(n==2 || n==3) {cout<<"Bob\n";return;}
vector<int> deg(n+1);
vector<int> e[n+1];
for(int i=1;i<n;i++)
{
int u,v;
cin>>u>>v;
e[u].push_back(v);
e[v].push_back(u);
deg[v]++;
deg[u]++;
}
int flg=0;
for(int i=1;i<=n;i++) if(deg[i]==n-1) flg=1;
if(flg) return cout<<"Bob\n",void();
int num=0;
function<void(int,int)> dfs=[&](int u,int fa)
{
int flag=0;
for(auto v:e[u])
{
if(v==fa) continue;
flag=1;
dfs(v,u);
}
if(flag && u!=1 && fa!=1) num++;
};
dfs(1,0);
// cout<<num<<endl;
if(num%2) cout<<"Alice\n";
else cout<<"Bob\n";
}
signed main()
{
cin.tie(0)->sync_with_stdio(0);
int t=1;
while(t--) solve();
return 0;
}
詳細信息
Test #1:
score: 100
Accepted
time: 1ms
memory: 3476kb
input:
4 1 2 2 3 3 4
output:
Alice
result:
ok "Alice"
Test #2:
score: 0
Accepted
time: 0ms
memory: 3548kb
input:
4 1 2 1 3 1 4
output:
Bob
result:
ok "Bob"
Test #3:
score: 0
Accepted
time: 0ms
memory: 3820kb
input:
2 1 2
output:
Bob
result:
ok "Bob"
Test #4:
score: 0
Accepted
time: 1ms
memory: 3532kb
input:
3 1 2 1 3
output:
Bob
result:
ok "Bob"
Test #5:
score: -100
Wrong Answer
time: 1ms
memory: 3808kb
input:
5 2 1 2 3 3 4 1 5
output:
Alice
result:
wrong answer 1st words differ - expected: 'Bob', found: 'Alice'