码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-11-02 20:26:11      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:break   scanf   ret   flag   序列   printf   数据   判断   turn   

 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\n");
38         else printf("NO\n");
39     }
40     return 0;
41 }

 

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

标签:break   scanf   ret   flag   序列   printf   数据   判断   turn   

原文地址:https://www.cnblogs.com/Angfe/p/11783568.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!