思路:先接收数组,在判断是否是奇数,利用线性代数的知识,判断欧拉回路即可
#include <iostream>
using namespace std;
class Bright{
private :
int i;
int j;
public:
int Count();
void Plan();
Bright(int i ,int j);
};
Bright :: Bright(int x ,int y){
i = x;
j = y;
}
int Bright :: Count(){
int shuz[i][j];
int re;
int a,b;
// 输入数组的值
cout<<"请输入你的矩阵"<<endl;
for ( a = 0; a < i; a++)
{
for ( b = 0; b < j; b++)
{
cin>>re;
shuz[a][b] = re;
// cout<<re<<endl;//测试
}
}
//进行判读
int sum1 = 0;
for ( a = 0; a < i; a++)
{
int result = 0;
for ( b = 0; b < j; b++)
{
result += shuz[a][b];
}
if (result % 2 != 0)
{
sum1 ++;
}
}
return sum1 ;
}
int main(){
int x,y;
cout<<"请输入矩阵的行"<<endl;
cin>>x;
cout<<"请输入矩阵的列"<<endl;
cin>>y;
Bright bb(x,y) ;
int recept = bb.Count();
if(recept >= 2)
cout<<"有"<<recept<<"个地方通奇数桥,不存在欧拉回路"<<endl;
else
cout<<"有"<<recept<<"存在欧拉回路,可以实现"<<endl;
}