題目:牛客網鏈結
概述:尤拉迴路是指不令筆離開紙面,可畫過圖中每條邊僅一次,且可以回到起點的一條迴路。現給定乙個圖,問是否存在尤拉迴路?
思路:確定無向圖尤拉迴路的充要條件:除孤立節點外,其它節點滿足 1.連通 2.度為偶數。這裡採用並查集進行操作,具體思路寫在注釋裡。
採用scanf可以提高輸入效率,大幅度提高。很多學校的oj要求的是連續輸入很多組資料,之前因為忘記使用eof導致執行超時,所以這一點一定要記住。
另外並查集自己簡單總結一下幾個步驟,方便以後做連通圖相關的問題。
#include
#include
using
namespace std;
int father[
1005
], cnt[
1005];
intfind
(int x)
return x;
}void
union_find
(int x,
int y)
intmain()
//判斷是否所有點的度都為偶數,如果存在不是偶數的,那麼報錯
bool flag =
true
;for
(int i =
1; i <= n; i++)}
if(!flag)
//檢視所有點是否聯通
//先找乙個非孤立節點
int t;
for(
int i =
1; i <= n; i++)}
//所有非孤立節點的父節點應該都是乙個
int fa =
find
(t);
for(
int i =
1; i <= n; i++)}
printf
("%d\n"
, flag);}
return0;
}
考研機試真題 尤拉迴路 浙江大學
關鍵字 圖,尤拉迴路 無向圖 題目描述 尤拉迴路是指不令筆離開紙面,可畫過圖中每條邊僅一次,且可以回到起點的一條迴路。現給定乙個圖,問是否存在尤拉迴路?輸入描述 測試輸入包含若干測試用例。每個測試用例的第1行給出兩個正整數,分別是節點數n 1 n 1000 和邊數m 隨後的m行對應m條邊,每行給出一...
2023年浙江大學機試第2題
題目要求 統計乙個給定字串中指定的字元出現的次數 具體的輸入輸出格式規定如下 輸入格式 測試輸入包含若干測試用例,每個測試用例包含 2行,第 1行為乙個長度不超過 5的字串,第 2行為乙個長度不超過 80的字串。注意這裡的字串包含空格,即空格也可能是要求被統計的字元之一。當讀到 時輸入結束,相應的結...
考研機試真題 還是A B 浙江大學
關鍵字 判斷兩個數的最後k位是否相同 用求餘判斷是否相同 題目描述 讀入兩個小於10000的正整數a和b,計算a b。需要注意的是 如果a和b的末尾k 不超過8 位數字相同,請直接輸出 1。輸入描述 測試輸入包含若干測試用例,每個測試用例佔一行,格式為 a b k 相鄰兩數字有乙個空格間隔。當a和b...