UVA 10129 尤拉迴路 判斷連通性

2021-07-24 10:58:47 字數 790 閱讀 9314

題意:輸入n個單詞,判斷是否可以使這些單詞排成一列,每個單詞的第乙個字母與上乙個單詞的最後乙個字母相同,最後乙個字母與下乙個單詞的第乙個字母相同

解法:以每個單詞的首尾字母為點,單詞為邊,dfs判斷圖的連通性,然後判斷是否存在尤拉通路

#include

using namespace std;

char str[1005];

int f[30][30];

intin[30], out[30];

void dfs(int u)

}}int main()

bool res = 1;

dfs(u);

for(int i = 0; i < 26; ++i)

}if(!res) break;

}if(res)

else

if(in[i] == out[i] - 1)

else

if(in[i] == out[i])

}if(num == 24 && num1 == 1 && num2 == 1 || num == 26) printf("ordering is possible.\n"); //有向圖存在尤拉通路的判斷依據:所有點的出度等於入度,或者只有乙個點的出度等於入度加一,另乙個點的出度等於入度減一,其餘的點出度與入度相等

else printf("the door cannot be opened.\n");

}else printf("the door cannot be opened.\n");

}}

Uva10129 尤拉迴路

play on wordsuva 10129 ordering is possible.the door cannot be opened.1 include2 include3 include4 const int maxn 26 5 using namespace std 6 7尤拉迴路 8圖是...

UVA10129 尤拉迴路 DFS

第一次寫部落格,以前一直沒有總結過,現在開始對自己學的東西做一些記錄吧,方便以後複習或者就當作留個腳印。筆者目前大一,水平弱弱弱 有不正確的地方或者可以改進的地方還望指出。找夥伴,有想一起學習的朋友可以一起交流交流。email zpengst outlook.com 題目大意 輸入n個單詞,判斷是否...

UVa 10129單詞(尤拉迴路)

題意是輸入n個單詞,是否可以把所有這些單詞排成乙個序列,使得每個單詞的第乙個字母和上乙個單詞的最後乙個字母相同。輸入中可以有重複單詞。由於最後只需要判斷是否能排成這樣的乙個序列,所以沒有輸入單詞後,只需要把首尾字母儲存下來,然後可以dfs深度遞迴。由於可能會有重複單詞,在這裡可以設乙個times陣列...