題意是輸入n個單詞,是否可以把所有這些單詞排成乙個序列,使得每個單詞的第乙個字母和上乙個單詞的最後乙個字母相同。輸入中可以有重複單詞。
由於最後只需要判斷是否能排成這樣的乙個序列,所以沒有輸入單詞後,只需要把首尾字母儲存下來,然後可以dfs深度遞迴。由於可能會有重複單詞,在這裡可以設乙個times陣列來記錄單詞所用的次數。
1 #include2 #include3using
namespace
std;45
int map[30][30];6
int times[30][30];7
intnumber;89
void dfs(int u,int
v)1019}
20}2122
intmain()
2343
intflag;
44for (int i = 0; i < 26; i++)
4556}57
}58if (flag == 1) break;59
}60if (flag == 0) cout << "
the door cannot be opened.
"<61else cout << "
ordering is possible.
"<63return0;
64 }
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判斷圖的連通性,然後判斷是否存在尤拉通路 include using namespace std char...