博客
关于我
HDU 1285 确定比赛名次【拓扑排序】链式向前星+优先队列
阅读量:369 次
发布时间:2019-03-04

本文共 1616 字,大约阅读时间需要 5 分钟。

?????????????????????????????????????????????????????????????????????????????????????????

????

  • ????: ?????????????????????????????????????????P1?P2?????????????????????????

  • ????: ????????????????????????????????Kahn???????????????????????DAG??

  • ????: ?Kahn??????????????????0????????????????????????????????????

  • ????:

    • ???????????0?
    • ?????????????????????
    • ????0??????????
    • ????????????????????????
    • ?????????????????
  • ????

    #include 
    #include
    #include
    #include
    #include
    using namespace std;
    int main() {
    int n, m;
    while (true) {
    cin >> n >> m;
    if (m == 0) break;
    vector
    in(n + 1, 0); vector
    head(n + 1); vector
    > adj(n + 1); int cnt = 0; for (int i = 1; i <= m; ++i) { int p1, p2; cin >> p1 >> p2; adj[p1].push_back(p2); in[p2]++; } // Initialize the priority queue priority_queue
    , greater
    > q; for (int i = 1; i <= n; ++i) { if (in[i] == 0) q.push(i); } vector
    ans; while (!q.empty()) { int u = q.top(); q.pop(); ans.push_back(u); for (int v : adj[u]) { in[v]--; if (in[v] == 0) q.push(v); } } // Output the result if (ans.size() != n) { // This should not happen as per the problem statement cout << "Error" << endl; } else { for (int i = 0; i < ans.size(); ++i) { if (i > 0) cout << " "; cout << ans[i]; } } } return 0; }

    ????

  • ????: ????????n???????m????????????????????????

  • ???????: ????????????0?????????????????????

  • ????: ??Kahn???????????????????????????????0?????????

  • ????: ????????????????????

  • ???????????????????????????????????????????

    转载地址:http://qlyg.baihongyu.com/

    你可能感兴趣的文章
    mysql 使用sql文件恢复数据库
    查看>>
    mysql 修改默认字符集为utf8
    查看>>
    Mysql 共享锁
    查看>>
    MySQL 内核深度优化
    查看>>
    mysql 内连接、自然连接、外连接的区别
    查看>>
    mysql 写入慢优化
    查看>>
    mysql 分组统计SQL语句
    查看>>
    Mysql 分页
    查看>>
    Mysql 分页语句 Limit原理
    查看>>
    MySql 创建函数 Error Code : 1418
    查看>>
    MySQL 创建新用户及授予权限的完整流程
    查看>>
    mysql 创建表,不能包含关键字values 以及 表id自增问题
    查看>>
    mysql 删除日志文件详解
    查看>>
    mysql 判断表字段是否存在,然后修改
    查看>>
    MySQL 到底能不能放到 Docker 里跑?
    查看>>
    mysql 前缀索引 命令_11 | Mysql怎么给字符串字段加索引?
    查看>>
    mysql 协议的退出命令包及解析
    查看>>
    mysql 取表中分组之后最新一条数据 分组最新数据 分组取最新数据 分组数据 获取每个分类的最新数据
    查看>>
    mysql 四种存储引擎
    查看>>
    MySQL 基础模块的面试题总结
    查看>>