Giving Awards

Giving Awards

https://ac.nowcoder.com/acm/problem/110438

思路:

因为给定的是个有向图,所以一定有解,构造方案就是把这个u当前它欠钱的人先安排好,然后直接输出方案就是一组解了...其实就是按dfs序统计即可啦...

代码:

#include <bits/stdc++.h>
using namespace std;
const int N=1e5;
vector<int>g[N];
int id,ans[N],use[N];
void dfs(int u)
{
    if(use[u])    return;
    use[u]=true;
    for(int v:g[u])
        if(!use[v])    dfs(v);
    ans[++id]=u;
}
int main()
{
    int n,m;
    cin>>n>>m;
    for(int i=1;i<=m;i++)
    {
        int u,v;
        cin>>u>>v;
        g[u].push_back(v);
    }
    for(int i=1;i<=n;i++)
        if(!use[i])
            dfs(i);
    for(int i=1;i<=n;i++)    cout<<ans[i]<<' ';
    puts("");
    return 0;
}

应该是高质量的题解.

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-09 11:15
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 12:04
毕业生招你惹你了,问一个发薪日来一句别看网上乱七八糟的你看哪个工作没有固定发薪日扭头就取消了面试就问了一句公司都是这个态度吗还搞上人身攻击了...
程序员小白条:呃呃呃,都还没面试,我都不会问这么细,何况通不通过,去不去都另说,你没实力和学历的话,在外面就这样,说实话没直接已读不回就不错了,浪费时间基本上
点赞 评论 收藏
分享
星辰再现:裁员给校招生腾地方
点赞 评论 收藏
分享
06-19 19:06
门头沟学院 Java
码农索隆:别去东软,真学不到东西,真事
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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