題目1027 尤拉迴路 學習

2021-07-11 14:12:15 字數 763 閱讀 1510

尤拉迴路 就是

定理:如果g是連通圖,則g是尤拉圖當且僅當g的所有頂點都是偶頂點

也就是說 先用並查集 再看偶頂點

所以,得從尤拉迴路的性質出發,

1、尤拉迴路必須能從1一直能連線到n的連通圖,所以用並查集的話,就只能有1個集合

2、尤拉迴路:

有向圖:所有的頂點出度=入度。

無向圖:所有頂點都是偶數度。

滿足上面兩個條件的話就一定是尤拉迴路

所以,利用並查集和節點度數的奇偶判斷就可知是否是尤拉迴路

**

但是好像有更簡單的方法  就是每個頂點 出現2次且僅僅出現2次(不對是偶數  不是2 笨啊)

(這是定理上的 但是怎麼舉例呢 比如度=4是個啥樣的圖)   而且本題我也沒判斷 連通圖就過了-_-

2

初始化陣列不是全零

int shuzu[1000];

for(int i=1;i<=5;i++){

cout<<"初始化陣列是什麼"

九度 題目1027 尤拉迴路

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

九度oj 題目1027 尤拉迴路

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

OJ 1027 尤拉迴路

include using namespace std int set 1001 int degree 1001 void init int n int find int x void unionset int x,int y void func int count 0 bool flag2 tru...