关注
第三题 typedef struct node { int x, y; friend bool operator <(node a, node b) { if (a.x == b.x) return a.y > b.y; else return a.x > b.x; } node(int a, int b) { x = a; y = b; } }; int main() { priority_queue<node> q; int n, m; cin >> n >> m; vector<int> need_time(n + 1); for (int i = 1; i <= n; i++) cin >> need_time[i]; vector<vector<int>> depen(n + 1); vector<int> de_nums(n + 1, 0); for (int i = 0; i < m; i++) { int a, b; cin >> a >> b; de_nums[b]++; depen[a].push_back(b); } for (int i = 1; i <= n; i++) if (de_nums[i] == 0) q.push(node(need_time[i], i)); vector<int> res; while (!q.empty()) { int y = q.top().y; res.push_back(y); q.pop(); for (int i = 0; i < depen[y].size(); i++) { de_nums[depen[y][i]]--; if (de_nums[depen[y][i]] == 0) q.push(node(need_time[depen[y][i]], depen[y][i])); } } for (int i = 0; i < res.size(); i++) cout << res[i] << ' '; cout << endl; system("pause"); return 0; }
查看原帖
点赞 16
相关推荐
牛客热帖
更多
正在热议
更多
# 交出你的校招焚诀 #
12090次浏览 203人参与
# 公司情报交流地 #
144771次浏览 1276人参与
# 神州信息求职进展汇总 #
3835次浏览 72人参与
# 实习生至暗时刻 #
20213次浏览 396人参与
# 27届求职交流 #
4239次浏览 105人参与
# 三月的小目标 #
13576次浏览 251人参与
# 26届求职交流 #
3570次浏览 79人参与
# 硬件人的简历怎么写 #
329891次浏览 3090人参与
# 教师节,你送祝福了吗 #
24965次浏览 101人参与
# 你的秋招第一面感觉怎么样 #
140673次浏览 806人参与
# 面试___岗的必刷题单 #
13707次浏览 240人参与
# 米哈游求职进展汇总 #
586800次浏览 3019人参与
# 哪些公司开暑期实习了? #
19658次浏览 153人参与
# 经纬恒润求职进展汇总 #
153329次浏览 1080人参与
# 你的秋招第一场笔试是哪家 #
294821次浏览 2085人参与
# AI面试问题分享 #
14680次浏览 291人参与
# 找AI工作应该卷什么? #
4579次浏览 83人参与
# 春招开局,你有保底offer吗? #
27783次浏览 219人参与
# 你经历过哪些AI幻觉? #
5375次浏览 125人参与
# 多益网络求职进展汇总 #
71061次浏览 306人参与
# 实习想申请秋招offer,能不能argue薪资 #
225241次浏览 1197人参与
