SWUST数据结构--有向图的邻接表存储强连通判断

#include<iostream>
using namespace std;

int main()
{
	int verxnum,arcnum;
	int verxs[50][50],arcs[50][50];
	int i,j;
	cin>>verxnum>>arcnum;
	for(i=0;i<arcnum;i++)
		for(j=0;j<2;j++)
		cin>>verxs[i][j];
	for(i=0;i<verxnum;i++)
		for(j=0;j<verxnum;j++)
		arcs[i][j] = 0;
	for(i=0;i<arcnum;i++)
		arcs[verxs[i][0]][verxs[i][1]] = 1;//邻接表转邻接矩阵
	
	int flag = 0;
	for(i=0;i<verxnum-1;i++)
	{
		if(arcs[i][i+1]!=1)
		{
			flag = 1;
			break;
		}
	} 
	
	if(flag == 1 || arcs[verxnum-1][0]!=1) cout<<"no";
	else cout<<"yes";	
	return 0;
} 

猜你喜欢

转载自blog.csdn.net/qq_41681743/article/details/80799645