2140=数据结构实验之图论十:判断给定图是否存在合法拓扑序列

Posted angfe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2140=数据结构实验之图论十:判断给定图是否存在合法拓扑序列相关的知识,希望对你有一定的参考价值。

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <string.h>
 4 int map[100][100],visited[100],du[100],flag,n,m,i,j,k;
 5 int main()
 6 {
 7     while(~scanf("%d %d",&n,&m))
 8     {
 9         memset(map,0,sizeof(map));
10         memset(visited,0,sizeof(visited));
11         memset(du,0,sizeof(du));
12         while(m--)
13         {
14             int a,b;
15             scanf("%d%d",&a,&b);
16             map[a][b]=1;
17             du[b]++;
18         }
19         for(i=1; i<=n; i++)
20         {
21             flag=0;
22             for(j=1; j<=n; j++)
23             {
24                 if(visited[j]==0&&du[j]==0)
25                 {
26                     visited[j]=1;
27                     for(k=1; k<=n; k++)
28                     {
29                         if(map[j][k]==1)
30                             du[k]--;
31                     }
32                     flag=1;
33                     break;
34                 }
35             }
36         }
37         if(flag==1)printf("YES
");
38         else printf("NO
");
39     }
40     return 0;
41 }

 

以上是关于2140=数据结构实验之图论十:判断给定图是否存在合法拓扑序列的主要内容,如果未能解决你的问题,请参考以下文章

SDUT 2142 TEST数据结构实验之图论二:基于邻接表的广度优先搜索遍历

2138=数据结构实验之图论三:判断可达性

ACM之图论

SDUT 3361 数据结构实验之图论四:迷宫探索

SDUT 3364 数据结构实验之图论八:欧拉回路

SDUT-3361_数据结构实验之图论四:迷宫探索