HDU 1878 尤拉迴路(概念)

2021-08-08 03:32:06 字數 1327 閱讀 7778

題目位址

題意:中文

思路:裸的尤拉迴路,把下面的概念看懂就好了。然後我們用並查集判斷一下是不是連通的就好了。

尤拉通路:圖連通,並且通過圖中每條邊且只通過一次。

尤拉迴路:圖連通,並且通過圖中每條邊且只通過一次,並且回到原起點。

無向圖是否具有尤拉通路或迴路的判定:

尤拉通路:圖連通,並且圖中只有0個或2個度為奇數的節點

尤拉迴路:圖連通,並且圖中所有節點度均為偶數

有向圖是否具有尤拉通路或迴路的判定:

尤拉通路:圖連通,並且除2個端點外其餘節點入度=出度;1個端點入度比出度大1;乙個端點入度比出度小1 或 所有節點入度等於出度

尤拉迴路:圖連通,並且所有節點入度等於出度

這些就是尤拉路的概念了,看懂了這些你就可以ac了。

#include 

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define ll long long

#define n 1010

#define m 200010

#define inf 0x3f3f3f3f

using

namespace

std;

const ll mod = 998244353;

const

double eps = 1e-9;

int deg[n];//每個點的度數

int pre[n], n;

int find(int x)

return pre[x] = find(pre[x]);

}void union(int a, int b)

}void init()

memset(deg, 0, sizeof(deg));

}int main()

init();

cin >> m;

for (int i = 0; i < m; i++)

int ans = 1;

int cnt = pre[1];

for (int i = 1; i <= n; i++)

cout

<< ans << endl;

}return

0;}

HDU1878 尤拉迴路

problem description 尤拉迴路是指不令筆離開紙面,可畫過圖中每條邊僅一次,且可以回到起點的一條迴路。現給定乙個圖,問是否存在尤拉迴路?input 測試輸入包含若干測試用例。每個測試用例的第1行給出兩個正整數,分別是節點數n 1 n 1000 和邊數m 隨後的m行對應m條邊,每行給出...

HDU 1878 尤拉迴路

演算法思想 判斷乙個圖中是否存在尤拉迴路 每條邊恰好只走一次,並能回到出發點的路徑 在以下三種情況中有三種不同的演算法 一 無向圖 每個頂點的度數都是偶數,則存在尤拉迴路。二 有向圖 所有邊都是單向的 每個節頂點的入度都等於出度,則存在尤拉迴路。以上兩種情況都很好理解。其原理就是每個頂點都要能進去多...

HDU 1878 尤拉迴路

題意 尤拉迴路的判斷條件,一 無向圖 每個頂點的度數都是偶數,則存在尤拉迴路。二 有向圖 所有邊都是單向的 每個節頂點的入度都等於出度,則存在尤拉迴路。以上兩種情況都很好理解。其原理就是每個頂點都要能進去多少次就能出來多少次。三 混合圖 有的邊是單向的,有的邊是無向的。常被用於比喻城市裡的交通網路,...