Hello 2018 B
2018-01-09 10:58
295 查看
题目:http://codeforces.com/contest/913/problem/B
一开始读错题了,以为必需是==3,其实是>=3。
然后发现忘了标记根节点。
然后发现a数组标记取消是清零,而不是–。
然后换了一种写法,最终还是WA。
其实前三种标记就错了,不应该排序。
第四种数组跑出界了,竟然不判RE,气死啦!
一开始读错题了,以为必需是==3,其实是>=3。
然后发现忘了标记根节点。
然后发现a数组标记取消是清零,而不是–。
然后换了一种写法,最终还是WA。
其实前三种标记就错了,不应该排序。
第四种数组跑出界了,竟然不判RE,气死啦!
#include<stdio.h> #include<stack> #include<queue> #include<string.h> #include<iostream> #include<algorithm> using namespace std; const int maxn=1005; const int inf=0x3f3f3f3f; #define LL long long int a[maxn],b[maxn],c[maxn],d[maxn]; int main() { int n,m; while(~scanf("%d",&n)) { memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); memset(c,0,sizeof(c)); memset(d,0,sizeof(d)); // for(int i=0; i<n-1; i++) // { // scanf("%d",&b[i]); // //d[b[i]]=1; // } // sort(b,b+n-1); //int k=1; for(int i=2; i<=n; i++) { int x; scanf("%d",&x); //printf("%d %d\n",k,x); if(d[x]==0) { d[x]=1; a[i]=x; a[x]=0; } else { a[i]=x; } } for(int i=2;i<=n;i++) { c[a[i]]++; } int flag=0; for(int i=1;i<=n;i++) { if(c[i]==0) { if(d[i]==1) { flag=1; break; } else continue; } if(c[i]<3) { flag=1; break; } } // for(int i=1;i<=n;i++) // { // printf("%d ",c[i]); // } // printf("\n"); //printf("\n"); if(flag) printf("No\n"); else printf("Yes\n"); } return 0; }
相关文章推荐
- codeforces Hello 2018(A-E)
- Christmas Spruce—codeforces(hello_2018)
- 【Hello 2018 D】Too Easy Problems
- codeforces Hello 2018 B. Christmas Spruce
- codeforces Hello 2018(A-E)
- Hello 2018, Bye 2017
- Codeforces Hello 2018 [ABC]
- codeforces Hello 2018(A-E)
- Hello 2018(B、C)
- Hello 2018 C. Party Lemonade (dp好题)
- Codeforces Hello 2018 B.Christmas Spruce
- Codeforces Hello 2018
- Hello 2018 A
- Hello 2018 A - D 题解
- Codeforces Hello 2018 C. Party Lemonade(思维)
- Codeforces Hello 2018 C. Party Lemonade 贪心、优先队列
- Codeforces Hello 2018 - A - Modular Exponentiation
- Hello 2018 - (A,B,C)
- codeforces Hello 2018 C. Party Lemonade(贪心)
- Codeforces Hello 2018