垃圾树
题目链接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1336
#include<bits/stdc++.h>
using namespace std;
const int N=205;
int n,m,x[N],y[N],sum[N],father[N],a=0,name,ans[N],k=1;
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>x[i]>>y[i];
sum[x[i]]++;
father[y[i]]++;
}
for(int i=1;i<=m;i++){
if(father[i]==0) cout<<i<<endl;
}
for(int i=1;i<=n;i++){
if(sum[i]>a){
a=sum[i];
name=i;
}
}
cout<<name<<endl;
for(int i=1;i<=m;i++){
if(x[i]==name){
ans[k]=y[i];
k++;
}
}
sort(ans,ans+k);
for(int i=1;i<k;i++) cout<<ans[i]<<" ";
cout<<endl;
return 0;
}
PS:这个题其实用的是桶排