题解 | #任务调度#

任务调度

https://www.nowcoder.com/practice/88d5fa34fe0748e09062e48c6ae6ffc7

#include <iostream>
#include <cstring>
#include <queue>

const int N = 100010;

using namespace std;

int n;
string str;
vector<int> h[N];                                 // 邻接表
int degree[N];                                    // 记录顶点入度
priority_queue<int, vector<int>, greater<int>> q; // greater将最小的元素放在队首——>为了输出字典序最小的方案

int main()
{
    while (cin >> n)
    {
        // 建图的同时记录入度
        memset(h, 0, sizeof(h));
        memset(degree, 0, sizeof(degree));
        for (int i = 0; i < n; i++)
        {
            cin >> str;
            if (str.substr(6, 4) == "NULL")
                continue;
            for (int j = 10; j < str.size(); j += 6)
                h[i].push_back(str[j] - '0'), degree[str[j] - '0']++;
        }
        // 初始化优先队列
        for (int i = 0; i < n; i++)
            if (degree[i] == 0)
                q.push(i);
        // 拓扑排序
        while (q.size() != 0)
        {
            // 出队
            int ver = q.top();
            q.pop();
            // 打印
            cout << "Task" << ver << " ";
            // 更新入度并入队
            for (int i = 0; i < h[ver].size(); i++)
                if (--degree[h[ver][i]] == 0)
                    q.push(h[ver][i]);
        }
        cout << endl;
    }
}

全部评论

相关推荐

在笔试的大西瓜很矫健:校招数分不用想了,这经历和学历都不够用,大厂更别想,初筛都过不了,说点不好听的小厂数分都进不去(小厂也是假数分),要两个对口实习+3个项目(或者3+2),而且要有含金量才能补一点你的学历劣势。 建议刷实习,社招找数分,校招看运气,能入行业就行,可以运营转数分
点赞 评论 收藏
分享
03-12 15:35
嘉应学院 Python
快说谢谢牛牛精灵:说不定就是下一个寒武纪!
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
正在热议
更多
# 长得好看会提高面试通过率吗? #
5182次浏览 51人参与
# 百度工作体验 #
316364次浏览 2232人参与
# 巨人网络春招 #
11587次浏览 232人参与
# 沪漂/北漂你觉得哪个更苦? #
1804次浏览 43人参与
# 离家近房租贵VS离家远但房租低,怎么选 #
16943次浏览 137人参与
# 春招至今,你的战绩如何? #
16628次浏览 150人参与
# MiniMax求职进展汇总 #
25415次浏览 323人参与
# 你的实习产出是真实的还是包装的? #
3423次浏览 58人参与
# HR最不可信的一句话是__ #
1196次浏览 33人参与
# AI面会问哪些问题? #
1048次浏览 29人参与
# 你做过最难的笔试是哪家公司 #
1414次浏览 24人参与
# AI时代,哪个岗位还有“活路” #
3089次浏览 54人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
152992次浏览 889人参与
# 简历第一个项目做什么 #
32246次浏览 367人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
8066次浏览 43人参与
# 简历中的项目经历要怎么写? #
311295次浏览 4282人参与
# XX请雇我工作 #
51168次浏览 171人参与
# 投格力的你,拿到offer了吗? #
178440次浏览 891人参与
# 你最满意的offer薪资是哪家公司? #
77039次浏览 375人参与
# AI时代,哪些岗位最容易被淘汰 #
65002次浏览 910人参与
# 秋招白月光 #
731590次浏览 5439人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
187700次浏览 1123人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务