7-32 哥尼斯堡的「七橋問題」 (25 分)
哥尼斯堡是位於普累格河上的一座城市,它包含兩個島嶼及連線它們的七座橋,如下圖所示。
可否走過這樣的七座橋,而且每橋只走過一次?瑞士數學家尤拉(leonhard euler,1707—1783)最終解決了這個問題,並由此創立了拓撲學。
這個問題如今可以描述為判斷尤拉迴路是否存在的問題。尤拉迴路是指不令筆離開紙面,可畫過圖中每條邊僅一次,且可以回到起點的一條迴路。現給定乙個無向圖,問是否存在尤拉迴路?
輸入第一行給出兩個正整數,分別是節點數n (1)和邊數m;隨後的m行對應m條邊,每行給出一對正整數,分別是該條邊直接連通的兩個節點的編號(節點從1到n編號)。
若尤拉迴路存在則輸出1,否則輸出0。
6 10
1 22 3
3 14 5
5 66 4
1 41 6
3 43 6
1
5 8
1 21 3
2 32 4
2 55 3
5 43 4
0
題目分析:一道利用 圖的遍歷的題 做這道題需要知道的是 無向圖存在尤拉迴路的充要條件 當且僅當該圖所有頂點度數為偶數,且該圖是連通圖
1view code#define _crt_secure_no_warnings
2 #include3 #include
4 #include
56 typedef struct enode*edge;
7struct
enode8;
11 typedef struct gnode*graph;
12struct
gnode13;
1819
int degree[1010
];20
int collected[1010
];21
int flag = 1;22
int isedge(int v1,int
v2,graph gra)
2326
void
insert(graph gra, edge e)
2731 graph creategraph(int
nv)32
4142
graph buildgraph()
4355
return
gra;56}
5758
void dfs(graph gra,int
v)5968}
69int iscollected(int
nv)70
76int
main()
77
PTA 資料結構與演算法題目集(中文)6 2
6 2 順序表操作集 20 分 本題要求實現順序表的操作集。list makeempty position find list l,elementtype x bool insert list l,elementtype x,position p bool delete list l,positio...
PTA 資料結構與演算法題目集(中文)6 5
6 5 鏈式表操作集 20 分 本題要求實現鏈式表的操作集。position find list l,elementtype x list insert list l,elementtype x,position p list delete list l,position p 其中list結構定義如...
PTA資料結構與演算法題目集(中文)7 18
題意 有兩個視窗a,b,題目給出a視窗處理完兩個顧客,b視窗處理完乙個顧客,並且當不同視窗同時處理完2個顧客時,a視窗顧客優先輸出。我們可以給出兩個佇列q1,q2分別表示a,b視窗,編號為奇數的顧客存放到q1中,為偶數的顧客存放到q2中。include include include include...