数据结构实验之图论十:判断给定图是否存在合法拓扑序列(SDUT 2140)
分析:BFS判断是否有环。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int gra[200][200];
int vis[100];
void bfs(int n)
{
memset(vis,0,sizeof(vis));
vis[1] = 1;
int q[100];
int in = 0,out = 0, f = 0;
q[in ++] = 1;
while(in > out)
{
int x = q[out ++];
for(int i = 1; i <= n; i ++)
{
if(gra[x][i])
{
if(vis[i]){
f = 1;
break;
}
else {
vis[i] = 1;
q[in ++] = i;
}
}
}
if(f)break;
}
if(f)printf("NO\n");
else printf("YES\n");
}
int main()
{
int n,m,u,v;
while(scanf("%d%d",&n,&m)!=EOF){
memset(gra,0,sizeof(gra));
for(int i = 0; i < m; i ++){
scanf("%d%d",&u,&v);
gra[u][v] = 1;
}
bfs(n);
}
return 0;
}
数据结构实验之图论十:判断给定图是否存在合法拓扑序列(SDUT 2140)的更多相关文章
- 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 给定一个有向图,判 ...
- 图结构练习——判断给定图是否存在合法拓扑序列(dfs算法(第一个代码),邻接矩阵(前两个代码),邻接表(第三个代码))
sdut 2140 图结构练习——判断给定图是否存在合法拓扑序列 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 给定一个有向图 ...
- SDUT2140图结构练习——判断给定图是否存在合法拓扑序列
拓扑序列的判断方法为不存在有向环,代码实现的话有两种,一种是直接去判断是否存在环,较为难理解一些,另一种的话去判断结点入度,如果存在的入度为0的点大于一个,则该有向图肯定不存在一个确定的拓扑序列 #i ...
- 拓扑排序 判断给定图是否存在合法拓扑序列 自家oj1393
//拓扑排序判断是否有环 #include<cstdio> #include<algorithm> #include<string.h> #include<m ...
- 图结构练习——判断给定图是否存在合法拓扑序列(sdutoj)
#include<stdio.h>#include<string.h>int d[15],map[15][15],vis[15];int main(){ int i,j, ...
- 数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历 (SDUT 2141)
#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> ...
- SDUT OJ 数据结构实验之图论八:欧拉回路
数据结构实验之图论八:欧拉回路 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descrip ...
- SDUT 3364 数据结构实验之图论八:欧拉回路
数据结构实验之图论八:欧拉回路 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 在哥尼斯堡的 ...
随机推荐
- linux主机内存告警shell脚本
#!/bin/sh ramusage=$(free | awk '/Mem/{printf("RAM Usage: %.2f\n"), $3/$2*100}'| awk '{pri ...
- OOM与StackOverFlow发生的原因及解决办法【待完成】
1,Out Of Memery 内存耗尽 1,1 产生原因 1.1.1 内存用完[堆内存] package com.cnblogs.mufasa; import org.junit.Test; imp ...
- 表单送件按钮代码(一)cs(C#)(未完)
protected void BtnRequest_Clich(object sender, EventArgs e) { lblMsg.Text= " " ; lblfmsg.T ...
- Java Web 深入分析(10) Spring 实践
Spring helloworld [http://wiki.jikexueyuan.com/project/spring/hello-world-example.html] HelloWorld.j ...
- TR-FS00会计科目创建GL_ACCT_MASTER_SAVE
https://blog.csdn.net/z_x_xing_/article/details/90514715 GL_ACCT_MASTER_SAVE 创建总账科目 前台事务代码:FS00 函数 ...
- Mysql踩坑 自动更新的时间只允许有一个
执行如下SQL创建表: CREATE TABLE aa ( a INT, b TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, c TIMESTAMP DEFAULT CU ...
- Linux的进程管理基本指令
在Linux操作系统中,进程是指一个程序的运行实例,它需要存储器来存储程序本身及其操作数据.内核负责创建和跟踪进程.当程序运行时,内核首先准备好一些内存,将可执行代码从文件系统加载到内存里,然后开始运 ...
- C++(三十四) — 友元函数、友元类
友元是可以访问类的私有成员和保护成员的外部函数.由 friend 修饰,不是本类的成员函数,但是在它的函数体中可以通过对象名访问本类的私有和保护成员. 友元关系不可传递,且是单向的. 友 ...
- Java 反射原理
一.Java 反射的定义 反射机制是在运行状态中, 对于任意一个类, 都能够知道这个类的所有属性和方法: 对于任意一个对象,都能够调用它的任意一个方法或者属性: 二.反射提供的功能: 在运行时判断任意 ...
- rabbitMq实现延时队列
原文:https://my.oschina.net/u/3266761/blog/1926588 rabbitMq是受欢迎的消息中间件之一,相比其他的消息中间件,具有高并发的特性(天生具备高并发高可用 ...