南邮|离散数学实验四(图的生成及欧拉(回)路的确定)

内容:随机生成含指定节点数量n的无向连通图,并确定其中有无欧拉()路,若有则需要获取至少一条路径并输出。

要求:能随机生成无向连通图并正确判断其是否为()欧拉图,若是欧拉图,则还需输出至少一条欧拉()路。

#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;

int N;		//随机数N
int **M;	//关联矩阵
int LTFlag; //连通标志
int OLLFlag;//欧拉路标志
int OLHLFlag;//欧拉回路标志

//正整数转字符串 
string IntegerToString(int integer) {
	if(integer==0) return "0";
	int count=0;
	int temp=integer;
	while(temp) {
		count++;
		temp/=10;
	}
	string s = "";
	temp=integer;
	for(int i=0; i50) {
				M[i][j]=1;
				M[j][i]=1;
			} else {
				M[i][j]=0;
				M[j][i]=0;
			}
		}
	}
}

//判断是否连通 (War Shall)
void  LianTong() {
	int temp[N][N];
	for(int i=0; i";
			s=s+(char)(i+'0');
			PrintOuLaLu(i,v,start,s);
			v[k][i]=v[i][k]=1;
			s=temp;
		}
	}
}

//输出欧拉回路
void PrintOuLaHuiLu(int k,int **v,int start,string s) {
	int flag=1;
	for(int i=0; i";
			s=s+(char)(i+'0');
			PrintOuLaHuiLu(i,v,start,s);
			v[k][i]=v[i][k]=1;
			s=temp;
		}
	}
}

void Input() {
	cin >> N;
	M = new int *[N];
	for(int i=0; i

 南邮|离散数学实验四(图的生成及欧拉(回)路的确定)_第1张图片

 南邮|离散数学实验四(图的生成及欧拉(回)路的确定)_第2张图片

 南邮|离散数学实验四(图的生成及欧拉(回)路的确定)_第3张图片

你可能感兴趣的:(离散数学,算法,图论,c++)