HDU P1285 确定比赛名次

拓扑排序裸题qwq

注意:入度为一的点删掉之后,它的入度要更新为-1

这个题刷出了我人生中第一次PE 可还行qaq

我搜索PE是输出格式与标准输出不符, 结果发现语言选成G++ orz

想起来《%你抄》 “原来CE,只因选错语言” 可我PE,也是选错语言啊啊啊啊啊QAQ

代码君qwq

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<iostream>
 4 using namespace std;
 5 const int sz = sz;
 6 int n, m;
 7 int plat[sz][sz], in[sz], ans[sz];
 8 int main() {
 9     while(~scanf("%d%d", &n, &m)) {
10         memset(plat, 0, sizeof(plat));
11         memset(in, 0, sizeof(in));
12         int cnt = 0, flag = 0, x, y;
13         for(int i = 1; i <= m; i++) {
14             scanf("%d%d", &x, &y);
15             if(!plat[x][y]) {
16                 plat[x][y] = 1;
17                 in[y]++;
18             }
19         }
20         while(cnt < n) {
21             for(int i = 1; i <= n; i++) {
22                 if(in[i]==0) {
23                     in[i] = -1;
24                     ans[++cnt] = i;
25                     flag = i;
26                     break;
27                 }
28             }
29             for(int i = 1; i <= n; i++) {
30                 if(plat[flag][i]) in[i]--;
31             }
32         }
33         for(int i = 1; i < n; i++)
34             printf("%d ", ans[i]);
35         printf("%d\n", ans[n]);
36     }
37     return 0;
38 }

这是我写的邻接表存图的拓扑排序,自认为没有错误但交上去就ce

原因如下:(我很懵逼qaq

HDU你是魔鬼吗???

 1 #include<queue>
 2 #include<cstdio>
 3 #include<iostream>
 4 using namespace std;
 5 const int sz = 505;
 6 struct edge {
 7     int nxt, to;
 8 }e[sz<<1];
 9 priority_queue<int, vector<int>, greater<int> >q;
10 int n, m, x, y, num = 0, cnt = 0, in[sz], ans[sz], head[sz];
11 void add(int from, int to) {
12     in[to]++;
13     e[++num].nxt = head[from];
14     e[num].to = to;
15     head[from] = num;
16 }
17 int main() {
18     while(~scanf("%d%d", &n, &m)) {
19         for(int i = 1; i <= m; i++) {
20             scanf("%d%d", &x, &y);
21             add(x, y);
22         }
23         for(int i = 1; i <= n; i++) {
24             if(!in[i]) q.push(i);
25         }
26         while(!q.empty()) {
27             int u = q.top();
28             q.pop();
29             ans[++cnt] = u;
30             for(int i = head[u]; i; i = e[i].nxt) {
31                 int v = e[i].to;
32                 in[v]--;
33                 if(!in[v]) q.push(v);
34             }
35         }
36         for(int i = 1; i < n; i++)
37             printf("%d ", ans[i]);
38         printf("%d\n", ans[n]);
39     }
40     return 0;
41 }

在看拓扑排序qaq实在是找不到用邻接表存图且不用指针的(美妙)代码了

难受香菇(想吃香菇馅的水饺啦啦啦啦)

转载于:https://www.cnblogs.com/Hwjia/p/9789618.html

【拓扑排序】确定比赛名次相关推荐

  1. 拓扑排序 确定比赛名次

    确定比赛名次 Problem Description 有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名 ...

  2. HDU 1285 - 确定比赛名次(拓扑排序)

    确定比赛名次 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  3. [ACM] hdu 1285 确定比赛名次 (拓扑排序)

    确定比赛名次 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  4. HDU 1285:确定比赛名次(拓扑排序)

    确定比赛名次 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  5. HDU1285 确定比赛名次【拓扑排序】

    确定比赛名次 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  6. HDU-1285 确定比赛名次 拓扑排序

    确定比赛名次 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)           ...

  7. 图论--拓扑排序--HDU-1285确定比赛名次

    Problem Description 有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委 ...

  8. 【HDU - 1285】确定比赛名次 (拓扑排序)

    题干: 有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩 ...

  9. HDU1285确定比赛名次(拓扑排序+优先队列)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1285 思路 每场比赛的结果我们可以看成一个有向图,从胜利的一方指向失败的一方,在这个有向图的入度为0的 ...

最新文章

  1. [开发工具]JBuilder2008已经发布
  2. 架构师课程之-haproxy专业级负载均衡软件权威讲解
  3. canvas js 绘图插件_[开盖即食]小程序图表插件eCharts实战
  4. php 替换字符串 图片,PHP替换字符串实现图片自适应屏幕实例代码
  5. bzoj2140: 稳定婚姻
  6. Flutter 核心原理与混合开发模式
  7. 易驾佳智能机器人教练_机器人教练创始人马宏先生受邀到中国人民大学进行经验分享...
  8. zbb20180913 java synchronized同步静态方法和同步非静态方法的异同
  9. 速修复!开源企业自动化软件 Apache OFBiz 出现严重的 RCE 漏洞
  10. 生成.properties文件(bat文件生成)
  11. Swing 100行画图示例
  12. opencv无获取摄像头视频帧(YUV打开导致失败)
  13. 白话CMMI(一)——CMMI扫盲
  14. ARM汇编之合法立即数的快速判断方法
  15. 蓝桥杯单片机——PWM脉宽调制(10)
  16. 《深度工作》学习总结
  17. 几个经典的数字电路设计
  18. windows 11 锁屏壁纸路径
  19. 推荐个边玩边学编程的游戏
  20. 未过GMS认证和CTS测试的ODM厂商如何使用google play

热门文章

  1. oracle 10g SQL* Plus主机字符串
  2. 较高Google PR中文博客
  3. [C#] 動的にアセンブリをロードする
  4. 我来重新学习js的面向对象(part 4)
  5. python笔记-标准库unittest
  6. Notes:DOM的事件模拟
  7. spring jdbcTemplate 插入对象返回主键值
  8. iOS Dev (60) 怎样实现 UITextView 中的 placeHolder
  9. Redis之rehash操作
  10. Kube-Proxy IPVS模式源码分析