垃圾树

题目链接: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:这个题其实用的是桶排

 

posted @ 2020-12-04 20:41  ssdaeda  阅读(90)  评论(0编辑  收藏  举报