HDU 尤拉迴路

2021-07-12 06:32:59 字數 980 閱讀 4767

problem description

尤拉迴路是指不令筆離開紙面,可畫過圖中每條邊僅一次,且可以回到起點的一條迴路。現給定乙個圖,問是否存在尤拉迴路?

input

測試輸入包含若干測試用例。每個測試用例的第1行給出兩個正整數,分別是節點數n ( 1 < n < 1000 )和邊數m;隨後的m行對應m條邊,每行給出一對正整數,分別是該條邊直接連通的兩個節點的編號(節點從1到n編號)。當n為0時輸入結

束。output

每個測試用例的輸出佔一行,若尤拉迴路存在則輸出1,否則輸出0。

sample input

3 31 2

1 32 3

3 21 2

2 30

sample output

1判斷尤拉迴路的條件

無向圖存在尤拉迴路的充要條件

乙個無向圖存在尤拉迴路,當且僅當該圖所有頂點度數都為偶數,且該圖是連通圖。

有向圖存在尤拉迴路的充要條件

乙個有向圖存在尤拉迴路,所有頂點的入度等於出度且該圖是連通圖。

第一次使用vector庫

#include#include#include#include#include#include#include#includeusing namespace std;

#define ll long long

const double inf=1e+9;

vector edge[1001];

bool vis[1001];

int e[1001]; //記錄度數

void dfs(int start)

node;

stackq;

node a;

void euler(int u)

}int main()

euler(1);

while (!q.empty())

return 0;

}

HDU 1878 尤拉迴路(判斷尤拉迴路)

題目大意 尤拉迴路是指不令筆離開紙面,可畫過圖中每條邊僅一次,且可以回到起點的一條迴路。現給定乙個圖,問是否存在尤拉迴路?解題思路 判斷無向圖是否存在尤拉迴路,判斷每個點的度數是否為偶數 並查集確認連通性。1 include2 include3 include4 define clr arr,val...

尤拉迴路(HDU 1878) 尤拉迴路模板題

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

HDU1878 尤拉迴路

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