题解 | 求树的根

求树的根

https://www.nowcoder.com/practice/e5a97317b37d46dcb10dd5dce66a2ec4

#include <bits/stdc++.h>
using namespace std;
const int N=1e5+5;

vector<int> g[N];
int d[N];
int ou[N];
vector<int> v;

int main() {
    int n;cin>>n;
    if(n==1){ cout<<1<<endl<<1; return 0;}

    for(int i=0;i<n-1;i++){
        int a,b;cin>>a>>b;
        g[a].push_back(b);
        d[b]++;
        ou[a]++;
    }
    for(int i=1;i<=n;i++){
        if(d[i]==0){
            cout<<i<<endl;
            break;
        }
    }
    for(int i=1;i<=n;i++){
        if(ou[i]==0){
            v.push_back(i);
        }
    }
    sort(v.begin(),v.end());
    for(int j:v){
        cout<<j<<" ";
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

03-03 23:42
复旦大学 Java
_无论云泥意贯一:把复旦大学放前面,山东大学放后面,并且在两个大学后面标注985(用一些显眼的颜色标注)
点赞 评论 收藏
分享
在打卡的大老虎很想潜...:你在找实习,没啥实习经历,技术栈放前面,项目多就分两页写,太紧凑了,项目你最多写两个,讲清楚就行,项目背景。用到的技术栈、亮点、难点如何解决,人工智能进面太难了,需求少。你可以加最新大模型的东西
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务