判断有向图是否有环

如果一个图有n 个顶点和小子n-1条边,则是非连通图,如果多于n-1 边条,必定构成一个环, 因为这条边使得它依附的那两个顶点之间有了第二条路径

/*给定一个有向图的邻接矩阵,判断图中是否存在环。
输入描述
输入结点数n, 然后是一个有向图的邻接矩阵

输出描述
有环输出1,否则输出0;

输入样例
样例1输入:

5
0 1 1 0 1
0 0 0 0 0
0 0 0 1 0
0 0 0 0 0
0 0 0 0 0

样例2输入:

3
0 1 0
0 0 1
1 0 0

样例1输出:

0

样例2输出:

1
 
#include
using namespace std;
int main()
{
	int n,i,j,ans=0;
	cin>>n;
	int G[n][n];
	
	for(i=0;i>G[i][j];
			ans+=G[i][j];
		}
	if(ans>=n) cout<<1;
	else cout<<0;
	return 0;
 } 

你可能感兴趣的:(作业)