#include<stdio.h>
int EulerCircult(int mat[5][5],int n);//函数声明
int main()
{
int mat[4][4]={{0,1,2,2},{1,0,1,1},{2,1,0,0},{2,1,0,0}};//二维数组的数值
int num=EulerCircult(mat,4);//调用函数 ,n=4
if (num>2)
printf("有%d个地方通奇数个桥,不存在欧拉回路\n",num);
else if (num==2||num==0)
printf("存在欧拉回路\n");
return 0;
}
int EulerCircult(int mat[5][5],int n)//函数定义,二维数组作为参照
{
int i,j,degree,count=0;//count通过奇数点的桥的个数
for (i=0;i<n;i++)
{
degree=0;//每一行数组的总值,即桥的奇偶通道数
for(j=0;j<n;j++)
{degree=degree+mat[i][j];
}
if (degree%2!=0)
count++;
}
return count;//最后结果返回count
}
七桥问题
最新推荐文章于 2021-08-03 21:43:20 发布