哥尼斯堡的“七桥问题” (25分) c++实现
生活随笔
收集整理的這篇文章主要介紹了
哥尼斯堡的“七桥问题” (25分) c++实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
哥尼斯堡的“七橋問題” (25分)
- 問題描述
哥尼斯堡是位于普累格河上的一座城市,它包含兩個島嶼及連接它們的七座橋,如下圖所示。
可否走過這樣的七座橋,而且每橋只走過一次?瑞士數學家歐拉(Leonhard Euler,1707—1783)最終解決了這個問題,并由此創立了拓撲學。
這個問題如今可以描述為判斷歐拉回路是否存在的問題。歐拉回路是指不令筆離開紙面,可畫過圖中每條邊僅一次,且可以回到起點的一條回路。現給定一個無向圖,問是否存在歐拉回路?
- 輸入
輸入第一行給出兩個正整數,分別是節點數N(1≤N≤1000)和邊數M;隨后的M行對應M條邊,每行給出一對正整數,分別是該條邊直接連通的兩個節點的編號(節點從1到N編號)。
- 輸出
若歐拉回路存在則輸出1,否則輸出0。
- 樣例輸入
6 10
1 2
2 3
3 1
4 5
5 6
6 4
1 4
1 6
3 4
3 6
- 樣例輸出
1
解題思路
無向圖中歐拉回路存在的的重要條件是回路中無奇度頂點,于是可以將題目簡化成是否都是偶度頂點 或者 不存在奇度頂點。
代碼為查看是否都為偶度頂點。
代碼實現
總結
以上是生活随笔為你收集整理的哥尼斯堡的“七桥问题” (25分) c++实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 博客整理——事后诸葛亮
- 下一篇: serverlet增删改查项目代码