1 条题解
-
0Guest MOD
-
1
#include <cstdio> #define maxn 10005 #define maxL 1005 using namespace std; int n,T,L; int r[maxn],prt[maxn],dep[maxn]; int sg[maxL]; int x; inline bool Solve(int pos,int chg) { if(!(dep[pos]&1)) return x; x^=sg[r[pos]]; x^=sg[r[pos]=chg]; return x; } int main() { scanf("%d%d%d",&n,&T,&L); register int i; int a,b; for(i=1;i<=1000;++i) sg[i]=i%(L+1); for(i=2;i<=n;++i) { scanf("%d%d",&prt[i],&r[i]); dep[i]=dep[prt[i]]+1; if(dep[i]&1) x^=sg[r[i]]; } for(i=1;i<=T;++i) { scanf("%d%d",&a,&b); if(Solve(a,b)) printf("Yes\n"); else printf("No\n"); } return 0; }
简简单单,轻轻松松!
- 1
信息
- ID
- 862
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者