图结构练习——判断给定图是否存在合法拓扑序列(sdutoj)
#include<stdio.h>
#include<string.h>
int d[15],map[15][15],vis[15];
int main()
{
int i,j,k,f,n,m,u,v;
while(~scanf("%d%d",&n,&m))
{
memset(d,0,sizeof(d));
memset(map,0,sizeof(map));
memset(vis,0,sizeof(vis));
for(i=1; i<=m; i++)
{
scanf("%d%d",&u,&v);
if(!map[u][v])免得有输入重复的边导致结果错误
{
map[u][v]=1;
d[v]++;
}
}
for(i=1; i<=n; i++)
{
f=0;
for(j=1; j<=n; j++)
{
if(d[j]==0&&vis[j]==0)
{
vis[j]=1;预防已计算过的0入度节点再次被计算
for(k=1; k<=n; k++)
if(map[j][k])
d[k]--;
f=1;
break;//找到一个入度为0的就结束
}
}
if(f==0)//如果节点未输出完,而图中就没有了入度为0的节点,则说明有环,不合法。
break;
}
if(f==0)
printf("NO\n");
else
printf("YES\n");
}
}
图结构练习——判断给定图是否存在合法拓扑序列(sdutoj)的更多相关文章
- 图结构练习——判断给定图是否存在合法拓扑序列(dfs算法(第一个代码),邻接矩阵(前两个代码),邻接表(第三个代码))
sdut 2140 图结构练习——判断给定图是否存在合法拓扑序列 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 给定一个有向图 ...
- SDUT2140图结构练习——判断给定图是否存在合法拓扑序列
拓扑序列的判断方法为不存在有向环,代码实现的话有两种,一种是直接去判断是否存在环,较为难理解一些,另一种的话去判断结点入度,如果存在的入度为0的点大于一个,则该有向图肯定不存在一个确定的拓扑序列 #i ...
- SDUT OJ 数据结构实验之图论十:判断给定图是否存在合法拓扑序列
数据结构实验之图论十:判断给定图是否存在合法拓扑序列 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Prob ...
- SDUT-2140_判断给定图是否存在合法拓扑序列
数据结构实验之图论十:判断给定图是否存在合法拓扑序列 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 给定一个有向图,判 ...
- 拓扑排序 判断给定图是否存在合法拓扑序列 自家oj1393
//拓扑排序判断是否有环 #include<cstdio> #include<algorithm> #include<string.h> #include<m ...
- 数据结构实验之图论十:判断给定图是否存在合法拓扑序列(SDUT 2140)
分析:BFS判断是否有环. #include<bits/stdc++.h> using namespace std; typedef long long ll; int gra[200][ ...
- Theano学习笔记(三)——图结构
图结构(Graph Structures)这是理解Theano该基金会的内部运作. Theano编程的核心是用符号占位符把数学关系表示出来. 图结构的组成部分 如图实现了这段代码: importthe ...
- 图结构练习——最短路径(floyd算法(弗洛伊德))
图结构练习——最短路径 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 给定一个带权无向图,求节点1到节点n的最短路径. 输 ...
- 图结构练习——最短路径(dijkstra算法(迪杰斯拉特))
图结构练习——最短路径 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 给定一个带权无向图,求节点1到节点n的最短路径. ...
随机推荐
- 【技术分享会】 @第二期 微信开放API简述-0212
什么是微信开放平台? 微信开放平台作为第三方移动程序提供接口,使用户可将第三方程序的内容发布给好友或分享至朋友圈,第三方内容借助微信平台获得更广泛的传播.从而形成了一种主流的线上线下微信互动营销方式. ...
- 【大数据系列】节点的退役和服役[datanode,yarn]
一.datanode添加新节点 1 在dfs.include文件中包含新节点名称,该文件在名称节点的本地目录下 [白名单] [s201:/soft/hadoop/etc/hadoop/dfs.incl ...
- html5里面的延迟加载属性
html5中给script标签引入了 async 和 defer 属性. 原理:带有async属性的script标签,会在浏览器解析时立即下载脚本同时不阻塞后续的document渲染和script加载 ...
- sencha touch NavigationView 嵌套 TabPanel 的问题
在st2.1之中,在NavigationView视图之中在嵌套一个TabPanel会有以下问题 下面我们监控TabPanel的activate事件和activeitemchange事件 会发现当首页加 ...
- ELK系列二:Elasticsearch的架构原理和配置优化
1.Elasticsearch的数据组织架构 1.1.Elasticsearch结构概念 集群(cluster):拥有相同cluster-name的elasticsearch结点的集合(每个结点其实就 ...
- Artech的MVC4框架学习——第三章controller的激活
第一当目标controller的名称通过URL路由被解析出来后,asp.net mvc利用 ControllerBuilder 注册 ControllerFactory ,根据名称实现对目标contr ...
- 【CF888E】Maximum Subsequence 折半搜索
[CF888E]Maximum Subsequence 题意:给你一个序列{ai},让你从中选出一个子序列,使得序列和%m最大. n<=35,m<=10^9 题解:不小心瞟了一眼tag就一 ...
- Unity3D笔记 NUGUI 一
NGUI是严格遵循KISS原则(KISS原则,keep it simple and stupid ,简单的理解这句话就是,要把一个系统做的连白痴都会用.这就是用户体验的高层境界了,好听的说法也是有的, ...
- 吐槽win8
想吐槽win8好久了!今天终于忍不住,得喷一下以泻心头之愤. 文件拷贝动辄失败!? 但凡是我从远程往本地拷大程序,此时文件系统变得奇慢无比,而且本地也不能打开大文件或者往外拷贝,否则一不小心就出现拷贝 ...
- Java基础之理解封装,继承,多态三大特性
目录 封装 继承 多态 封装 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据.对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法. 代码理解 publ ...