1126. Eulerian Path (25)

简介: #include #include #include using namespace std;vector v;vector visit;int cnt = 0;//cnt != n判断不是连通图void df...
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
vector<vector<int>> v;
vector<bool> visit;
int cnt = 0;//cnt != n判断不是连通图
void dfs(int index){
    visit[index] = true;
    cnt++;
    for (int i = 0; i < v[index].size(); i++) {
        if(visit[v[index][i]] == false){
            dfs(v[index][i]);
        }
    }
}
int main(){
    int n, m, a, b, even = 0;
    cin >> n >> m;
    v.resize(n + 1);
    visit.resize(n + 1);
    for (int i = 0; i < m; i++) {
        cin >> a >> b;
        v[a].push_back(b);
        v[b].push_back(a);
    }
    for (int i = 1; i <= n; i++) {
        if(i != 1) cout << " ";
        cout << v[i].size();
        if(v[i].size() % 2 == 0) even++;
    }
    cout << endl;
    dfs(1);
    if(even == n && cnt == n) cout << "Eulerian\n";
    else if(even == n - 2 && cnt == n) cout << "Semi-Eulerian\n";
    else cout << "Non-Eulerian\n";
    return 0;
}







目录
相关文章
|
19天前
|
计算机视觉
detectMultiScale
【6月更文挑战第8天】
13 4
我应该使用 NULL 还是 0?
我应该使用 NULL 还是 0?
The Sandwich Rule
目标:训练一个可以直接以任意宽度运行的单一网络。其实是在权重共享的条件下,我们可以根据不同的硬件设备挑选不同宽度的网络,不再重训练一个权重。
95 0
The Sandwich Rule
|
Serverless 程序员 云计算
Serverful
Serverful
149 0
|
JavaScript 前端开发