链接:
http://codeforces.com/problemset/problem/1037/D
思路: 在vector 中二分找就可以了。
模拟记录每个节点的直接孩纸。
代码:
#include
#include
#include
#include
#include
#include
using namespace std;
typedef long long ll;
const int N =2e5+5;
vectorve[N];
int a[N];
int n;
int inde[N];
int vis[N];
int sz[N];
void dfs(int u,int fa)
{
sz[u]=0;
for(int i=0;i>n;
int u,v;
for(int i=1;iq;
q.push(1);
int f=0;
vector::iterator it;
int p=2;
while(!q.empty()){
u=q.front(); q.pop();
//cout<<"uuu "<n) break;
}
if(p>n) break;
if(f) break;
}
if(f) printf("No
");
else printf("Yes
");
return 0;
}