题目的意思就是这写数字能否连成一串。
像1 2 , 2 4 ,4 4,4 6, 6 1;连成环。就是找有没有欧拉回路。
第一步先判断所有出现的点,的度是不是偶数,因为如果有欧拉回路,那每个点的出度加入读都会是偶数。不是偶数就直接错。
然后判断有没有连通,如果从其中一个点开始dfs ,能访问到所有点,则是连通的,满足这两个后,就可以开始找顺序了;
用欧拉的标准输出程序就行。
AC代码:
#include<iostream>
using namespace std;
const int N = 50 + 5;
int g[N][N];
int vis[N];
int m;
int num[N];
int count;
int count2;
int Case = 1;
void init() {
for (int i = 0; i < N ;i++) {
for (int j = 0 ;j < N ;j++) {
g[i][j] = 0;
}
vis[i] = 0;
num[i] = 0;
}
count = 0;
count2 = 0;
}
void reach(int x) {
vis[x] = 1;
count++;
for (int i = 0 ; i < N ;i++) {
if