QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#572636 | #8948. 报复社会 | yinhee | 0 | 1ms | 9876kb | C++14 | 1.6kb | 2024-09-18 15:46:13 | 2024-09-18 15:46:14 |
answer
#include<bits/stdc++.h>
using namespace std;
namespace my_std{
#define mems(x,y) memset(x,y,sizeof x)
#define Mp make_pair
#define eb emplace_back
#define gc getchar
#define pc putchar
#define fi first
#define se second
#define il inline
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define drep(i,a,b) for(int i=(a);i>=(b);i--)
#define go(i,u) for(int i=head[u];i;i=e[i].nxt)
typedef long long ll;
typedef pair<int,int> pii;
template<typename T>
il void read(T &x){
int f=1;x=0;char c=gc();
while(c<'0'||c>'9'){
if(c=='-'){
f=-1;
}
c=gc();
}
while(c>='0'&&c<='9'){
x=x*10+c-48,c=gc();
}
x*=f;
}
template<typename T,typename ...Args>
void read(T &x,Args &...args){
read(x),read(args...);
}
template<typename T>
il void write(T x){
char buf[43];int len=0;
if(x<0){
pc('-'),x=-x;
}
do{
buf[++len]=x%10,x/=10;
}while(x);
while(len){
pc(buf[len--]+'0');
}
}
}
using namespace my_std;
const int N=5e5+7,M=-1,inf=0x3f3f3f3f,mod=0;
int n,m,dp[N],c[N];
int tot,head[N];
struct node{
int to,nxt;
}e[N];
il void add(int u,int v){
e[++tot]={v,head[u]},head[u]=tot;
}
void dfs(int u){
if(!head[u]){
dp[u]=c[u]?1:-1;
return;
}
go(i,u){
int v=e[i].to;
dfs(v),dp[u]+=dp[v];
}
if(dp[u]>0){
dp[u]++;
}else if(dp[u]<0){
dp[u]--;
}else{
dp[u]+=n&1?1:-1;
}
}
void Yorushika(){
read(n);
tot=0;
rep(i,1,n){
head[i]=dp[i]=0;
}
rep(i,2,n){
int u;read(u);
add(u,i);
}
rep(i,1,n){
read(c[i]);
}
dfs(1);
puts(dp[1]>0?"Bob":"Alice");
}
signed main(){
int t=1;
read(t,t);
while(t--){
Yorushika();
}
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Time Limit Exceeded
Test #1:
score: 0
Time Limit Exceeded
input:
1 19 1 2 3 3 2 6 7 7 6 6 6 2 2 2 1 1 1 1 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 0 0 0 0
output:
result:
Subtask #2:
score: 0
Wrong Answer
Test #50:
score: 0
Wrong Answer
time: 0ms
memory: 9876kb
input:
10000 49 1 2 2 1 5 5 5 5 5 5 1 12 12 12 12 12 12 1 19 19 19 19 19 19 19 1 27 27 1 1 31 1 33 33 33 33 33 33 33 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 50 1 2 2 2 2 2 1 8 8 8 1 12 1 1 15 15 15 15 1 1 21 21 21 21 1 26 1 1 29 29...
output:
Bob Bob Bob Bob Bob Bob Bob Bob Bob Bob Bob Bob Bob Bob Bob Bob Alice Alice Alice Alice Alice Alice Alice Alice Alice Alice Alice Alice Alice Alice Bob Bob Alice Alice Alice Alice Bob Bob Bob Bob Bob Alice Alice Bob Bob Alice Bob Bob Alice
result:
wrong answer 2nd words differ - expected: 'Alice', found: 'Bob'
Subtask #3:
score: 0
Wrong Answer
Test #73:
score: 0
Wrong Answer
time: 1ms
memory: 9864kb
input:
10000 50 1 2 1 4 5 6 5 4 9 4 11 4 1 14 15 16 16 16 15 14 21 21 21 14 14 14 14 14 1 30 30 30 30 30 1 36 37 37 37 36 41 41 41 36 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0 1 1 0 1 0 1 50 1 2 3 4 5 4 7 8 7 4 11 12 11 14 11 16 11 18 11 4 21 4 4 4 3 ...
output:
Bob Bob Bob Bob Bob Bob Alice Alice Alice Alice Alice Alice Alice Alice Alice Alice Alice Alice Alice Alice Alice Alice Bob Bob Bob Bob Bob Bob Bob Alice Alice Alice Alice Alice Alice Alice Alice Alice Alice Bob Bob Alice Bob Bob Bob Bob Bob Bob Bob Bob
result:
wrong answer 1st words differ - expected: 'Alice', found: 'Bob'
Subtask #4:
score: 0
Skipped
Dependency #1:
0%