USACO Riding Fences 尤拉迴路

2021-06-09 15:42:35 字數 991 閱讀 1423

參考: 

注意path

陣列長度為1

025(

edge的個數

),剛開始

弄成50

1(vertex個數)

結果test8爆

棧了/*

id: wangxin12

prog: fence

lang: c++

*/#include #include #define max 505

#define max(a,b) (a > b ? a : b)

#define min(a,b) (a < b ? a : b)

using namespace std;

int map[max][max], num[max], path[1050]; //map¹¹í¼£¬ num¼çôø㿸öµã¶èêý£¬path¼çôøâ·¾¶

int minn, maxn, index = 0; //òòîªìâä¿öðvertex²»´ó1¿ªê¼£¬òªôú¶áèëêý¾ýµä걺ò¼çôøvertexµä×îð¡×î´óöµ

void circle(int x) //find the smallest neighbor

map[x][i]--, map[i][x]--;

num[x]--, num[i]--; //delete this edge

circle(i); //

} while ( num[x] );

path[index++] = x;

} else

path[index++] = x;

}void deal()

} circle(minn);

}int main()

deal();

//output

for(int j = index - 1; j >= 0; j--) {

fo<

尤拉迴路 輸出尤拉迴路的路徑

有向or無向均可,重邊 step1 從u開始,找到與他相連的v,放入棧,刪除 u,v 這條邊,然後從v開始 step2 當有一點沒有與他相連的點時,放入path,然後從stack取棧頂繼續開始找點刪邊。最後記得把棧裡的點放到path中。path倒序輸出 需要先找到起點 鄰接表法,適合稀疏圖 incl...

尤拉迴路,尤拉路

參考以上 判斷尤拉路,尤拉迴路 注意圖聯通,可以dfs 或者並查集 一 無向圖 尤拉迴路 每個頂點度數都是偶數 尤拉路 所有點度數為偶數,或者只有2 個點度數為奇數 二 有向圖 非混合 尤拉迴路 每個頂點入度等於出度 尤拉路 每個頂點入度等於出度 或者只有1 個點入度比出度小 1,從這點出發,只有 ...

尤拉路 尤拉迴路

1 尤拉路 在乙個連通圖中存在一條路,經過途中所有邊一次且僅一次,這條路叫做尤拉路。2 尤拉迴路 在乙個連通圖中存在一條路,經過途中所有邊一次且僅一次,出發點亦是終點,這樣的路是尤拉迴路。1 無向圖有一條尤拉路 圖是連通的,且全部的結點的度是偶數 就是尤拉迴路的情況 或只有兩個結點的度是奇數。2 無...