0
点赞
收藏
分享

微信扫一扫

SWUST OJ 1064: 带权无向图存储判定

M4Y 2022-01-09 阅读 46

题目描述

假设无向图G采用邻接矩阵存储,判断输入数据格式是否正确(即是否为对称矩阵)。

输入

第一行第一个整数n表示顶点的个数(顶点编号为0到n-1),接下来是为一个n*n大小的整数矩阵,表示图的邻接关系。数字为大于0表示邻接值,-1表示不邻接,对角线为0。

输出

yes(正确),no(错误)。

样例输入

5
0 6 -1 22 1
6 0 1 1 -1
-1 1 0 1 1
22 1 1 0 9
1 -1 1 9 0

样例输出

yes

参考程序

#include<stdio.h>
void CreateMap(int n,int edges[100][100])//创建邻接矩阵 
{
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
		{
			scanf("%d",&edges[i][j]);
		}
	}
}
int main()
{
	int edges[100][100];
	int n;int max=0,min=999;//初始化最大值和最小值 
	scanf("%d",&n);
	CreateMap(n,edges);
	int t=0;//设置标记 
	for(int i=0;i<n;i++)//比较是否为对称矩阵,并且主对角线为0 
	{
		for(int j=0;j<n;j++)
		{
			if(i==j)
			{
				if(edges[i][j]!=0) t=1;
			}
			else
			{
				if(edges[i][j]!=edges[j][i]) t=1;
			}
		}
	}
	if(t==0) printf("yes");
	else printf("no");
}

注意

该程序仅供学习参考!

举报

相关推荐

0 条评论