确定比赛名次

http://acm.hdu.edu.cn/showproblem.php?pid=1285

拓扑排序:次序问题

AOV网:

用顶点表示活动,弧表示活动间的优先关系的有向图,AOV网中不应该出现有向环:
如果存在环,则某项活动以自己为先决条件。
 
复制代码
 1 #include <stdio.h>
 2 #include <string.h>
 3 #include <stdlib.h>
 4 int n,m;
 5 int map[501][501],d[501],v[501];
 6 int main()
 7 {
 8     int x,y;
 9     int flag;
10     while(scanf("%d%d",&n,&m)!=EOF)
11     {
12         memset(v,0,sizeof(v));
13         memset(d,0,sizeof(d));
14         memset(map,0,sizeof(map));
15         while(m--)
16         {
17             scanf("%d%d",&x,&y);
18             if(!map[x][y])
19             {
20                 map[x][y]=1;
21                 d[y]++;
22             }
23         }
24         flag=0;
25         for(int i=1;i<=n;i++)
26         {
27             for(int j=1;j<=n;j++)
28             {
29                 if(v[j]==0&&d[j]==0)
30                 {
31                     for(int k=1;k<=n;k++)
32                         if(map[j][k])
33                           d[k]--;
34                     v[j]=1;
35                     if(flag==0)
36                     {
37                          printf("%d",j);
38                          flag=1;
39                     }
40                     else printf(" %d",j);
41                     break;
42                 }
43             }
44         }
45         printf("\n");
46 
47     }
48     return 0;
49 }
复制代码

 

posted @   人艰不拆_zmc  阅读(288)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示