图结构练习——判断给定图是否存在合法拓扑序列
来源:互联网 发布:淘宝助理最新版 编辑:程序博客网 时间:2024/05/17 14:29
题目描述
输入
输出
示例输入
1 02 21 22 1
示例输出
YESNO
提示
#include <iostream>
#include <cstdio>
#include <queue>
#include <cstring>
using namespace std;
int mp[20][20],in[20];
int main()
{
int n,m,a,b,i,j,num;
while(~scanf("%d%d",&n,&m))
{ queue<int>q;
num=0;
memset(mp,0,sizeof(mp));
memset(in,0,sizeof(in));
for(i=1;i<=m;i++)
{
scanf("%d%d",&a,&b);
mp[a][b]=1;
in[b]++;
}
for(i=1;i<=n;i++)
{
if(in[i]==0)
{
q.push(i);
}
}
while(!q.empty())
{
int x=q.front();
q.pop();//把入度为0的点依次删除,不存在环的话所有的点就都被删除了
num++;
for(i=1;i<=n;i++)
{
if(mp[x][i])
{
in[i]--;
if(in[i]==0)
q.push(i);
}
}
}
if(num==n)
printf("YES\n");
else printf("NO\n");
}
return 0;
}
- SDUT 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- SDUT2140_图结构练习——判断给定图是否存在合法拓扑序列(邻接表)
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- SDUT OJ 2140 图结构练习——判断给定图是否存在合法拓扑序列
- sdut 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 数据结构——4 单链表查找中间节点
- ubuntu搭建hadoop 2.7.2 Single Node Cluster及windows eclipse yarn提交Mapreduce笔记
- Htc Vive Sdk(OpenVR),Unity3d 开发,手柄射线
- 【JZOJ 3083】 塔(加强)
- 字符串处理通用类
- 图结构练习——判断给定图是否存在合法拓扑序列
- OpenStack Mitaka Ceilometer-Aodh
- MySQL 总结(1)
- db2脚本、存储过程执行命令
- Charles录制App的接口har文件
- 通过JDBC进行简单的增删改查(以MySQL为例)
- 【JZOJ3082】骰子游戏
- Android开源项目整理
- SQLite3的加密函数说明 sqlite3_key sqlite3_rekey