http://2014.sprout.csie.org/oj/pro/169/
這題是尤拉路徑或是迴路。
基本上找尤拉迴路,路徑的方法就是直接DFS,並且在return前print 離開的點,就會是一個尤拉路徑或迴路,唯一要注意的是如果有奇點(只可能有兩個,否則無法構成尤拉迴路)的話,要選一個開始。
但是這題要求字典序最小,所以不能直接做,首先 adjacency lists 應該先排序,我用adjacency matrix 就省去排序的問題了。再來是重邊,我一開始用bool記錄邊,WA了好久。最後是判斷是不是奇點,是把全部的邊加起來%2,我一開是忘記了QAQ。
1 |
|