QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#572180 | #8948. 报复社会 | qwqwf | 0 | 4ms | 20436kb | C++14 | 1.1kb | 2024-09-18 12:48:18 | 2024-09-18 12:48:20 |
Judging History
answer
//#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,avx2")
//#pragma GCC optimize("Ofast","unroll-loops","inline")
#include<bits/stdc++.h>
#define ll long long
//#define int ll
#define pb push_back
#define pii pair<int,int>
#define MP make_pair
#define fi first
#define se second
using namespace std;
const int N=5e5+10,M=1e6+10,mod=998244353;
int n,p[N],a[N],ct[N];
vector<int> e[N];
void dfs(int u){
if(!e[u].size()) return ct[u]=a[u]==1?1:-1,void();
a[u]=0;
for(int v:e[u]) dfs(v),a[u]|=a[v],ct[u]+=ct[v];
if(ct[u]<0) ct[u]--;
else if(ct[u]>0) ct[u]++;
else if(n&1) ct[u]++;
else ct[u]--;
}
void solve(){
cin>>n;
for(int i=1;i<=n;i++) ct[i]=0,e[i].clear();
for(int i=2;i<=n;i++) cin>>p[i],e[p[i]].pb(i);
for(int i=1;i<=n;i++) cin>>a[i],a[i]^=1,a[i]++;
dfs(1);
// for(int i=1;i<=n;i++) cout<<ct[i]<<' '<<a[i]<<'\n';
if(ct[1]<0) return cout<<"yes\n",void();
else return cout<<"no\n",void();
}
signed main(){
// freopen("alphago.in","r",stdin);
// freopen("alphago.out","w",stdout);
ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
int c,T;cin>>c>>T;
while(T--) solve();
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 0
Wrong Answer
time: 4ms
memory: 19588kb
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:
yes yes no no no no no no no no no no no no no no no no no
result:
wrong answer 1st words differ - expected: 'Bob', found: 'yes'
Subtask #2:
score: 0
Wrong Answer
Test #50:
score: 0
Wrong Answer
time: 3ms
memory: 19744kb
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:
yes yes yes yes no no no no no no no no no no no no yes yes yes yes yes yes yes yes yes yes yes yes yes yes no no yes yes yes yes no no no no no yes yes no no yes no no yes
result:
wrong answer 1st words differ - expected: 'Bob', found: 'yes'
Subtask #3:
score: 0
Wrong Answer
Test #73:
score: 0
Wrong Answer
time: 3ms
memory: 20436kb
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:
yes yes yes yes no no yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes no no no no no no no yes yes yes yes yes yes yes yes yes yes no no yes yes yes yes yes yes yes no yes
result:
wrong answer 1st words differ - expected: 'Alice', found: 'yes'
Subtask #4:
score: 0
Skipped
Dependency #1:
0%