你这都第几次看错题了?!能不能认真点?!上点心!!题意说
特殊的当且仅当不存在一棵和它不同的树和它相似等价于形如一条龙,除了最后一层可以有多个节点,其它层只能有一个节点
反正你读错题了->_->读对了也想不到这么解,也就这水平了 呵呵 怪不得rating做一场低好几十
#include <iostream>
#include <stdio.h>
#include <string.h>
#include<set>
#include<vector>
#include <algorithm>
using namespace std;
int main()
{
int n;
while(cin>>n){
typedef set<int>b;
b a[1005];
// std::set<std::a<int,1000>>
int u,v,nn=n;
bool flag=1;
for(int i=0;i<n-1;i++){
cin>>u>>v;
a[u].insert(v);
}
for(int i=1;i<1002;i++){
if(a[i].size()>1){
for(set<int>::iterator j=a[i].begin();j!=a[i].end();++j){
int t=*j;
int d=a[t].size();
if(d!=0){flag=0;break;}
}
}
}
if(flag)cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return 0;
}