图结构练习——判断给定图是否存在合法拓扑序列
来源:互联网 发布:刷帮豆软件怎么下载 编辑:程序博客网 时间:2024/05/22 02:17
图结构练习——判断给定图是否存在合法拓扑序列
题目描述
给定一个有向图,判断该有向图是否存在一个合法的拓扑序列。
输入
输入包含多组,每组格式如下。
第一行包含两个整数n,m,分别代表该有向图的顶点数和边数。(n<=10)
后面m行每行两个整数a b,表示从a到b有一条有向边。
输出
若给定有向图存在合法拓扑序列,则输出YES;否则输出NO。
示例输入
1 02 21 22 1
示例输出
YESNO
#include <iostream>#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>#include<malloc.h>#include<stack>using namespace std;int map[11][11];int n;int degree[11];int topo(){ int i,j,k,flag; for(i=1;i<=n;i++) { flag=0; for(j=1;j<=n;j++) { if(degree[j]==0) { degree[j]--; flag=1; for(k=1;k<=n;k++) { if(map[j][k]==1) degree[k]--; } break; } } if(flag==0) break; } if(flag==1) cout<<"YES"<<endl; else cout<<"NO"<<endl;}int main(){ int m,a,b; while(scanf("%d%d",&n,&m)!=EOF) { memset(map,0,sizeof(map)); memset(degree,0,sizeof(degree)); for(int i=1;i<=m;i++) { cin>>a>>b; map[a][b]=1; degree[b]++; } topo(); }}
0 0
- SDUT 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- SDUT2140_图结构练习——判断给定图是否存在合法拓扑序列(邻接表)
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- SDUT OJ 2140 图结构练习——判断给定图是否存在合法拓扑序列
- sdut 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 让你的HTML5&CSS3网站在老IE中也能正常显示的3种方法
- 你是山西煤老板-火车运煤
- Intersection of Two Linked Lists
- 第14周项目2(3)
- 黑马程序员——JAVA基础之List集合
- 图结构练习——判断给定图是否存在合法拓扑序列
- ios 线程
- VB6.0 对ACCESS的控制总结——无需控件版(建库,删库,建表,删表,增加行,删除行)
- 使用GCM服务(Google Cloud Messaging)实现Android消息推送
- 4. Dubbo原理解析-代理之接口定义
- Linux/Ubuntu学习笔记(六)--tomcat
- PowerDesigner导入java类生成类图
- 关于输入法的弹出与关闭
- hibernate 中hql 的delete和update