記憶體限制:64mb 時間限制:3000ms 特判: no
通過數:7 提交數:14 難度:5
給你一些單詞,請你判斷能否把它們首尾串起來串成一串。
前乙個單詞的結尾應該與下乙個單詞的道字母相同。
如aloha
dogarachnid
gopher
tiger
rat可以拼接成:aloha.arachnid.dog.gopher.rat.tiger
第一行是乙個整數n(0如果存在拼接方案,請輸出所有拼接方案中字典序最小的方案。(兩個單詞之間輸出乙個英文句號".")如果不存在拼接方案,則輸出
***
複製
26aloha
arachnid
doggopher
rattiger
3oak
maple
elm
aloha.arachnid.dog.gopher.rat.tiger***
c/c++:
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include8 #include 9 #include 10 #include 11 #include 12
#define eps 1e-6
13using
namespace
std;
1415
intin[30], out[30], my_book[1010], my_route[1010
], n;
1617
struct
node
18my_str[1010
];22
23bool
cmp(node a, node b)
2427
28int
euler()
2939}40
if (my_begin > -1 && my_end > -1) return
my_begin;
41if (my_begin == -1 && my_end == -1)42
46return -1;47
}4849bool dfs(int my_loc_int, int
cnt)
5063}64
return
false;65
}6667int
main()
6894
95/**96
@parm: my_begin 開始位置的首字母對應asc - 'a'
97*/
98int my_begin =euler();
99if (my_begin == -1
)100
104 sort(my_str, my_str +n, cmp);
105/*
*106
判斷是否能找出這樣一條路徑來
107*/
108if (dfs(my_begin, 0
))109
114else
115118
}119
120return0;
121 }
give me help
NYOJ 99 單詞拼接 尤拉迴路
時間限制 3000 ms 記憶體限制 65535 kb 難度 5 描述 給你一些單詞,請你判斷能否把它們首尾串起來串成一串。前乙個單詞的結尾應該與下乙個單詞的道字母相同。如aloha dogarachnid gopher tiger rat可以拼接成 aloha.arachnid.dog.gophe...
NYOJ 99 單詞拼接 尤拉迴路或路徑
題目傳送門 思路 單詞頭的字母為乙個入讀,尾為乙個出度,先判斷能不能形成尤拉路徑 條件 因為這是有向圖,起始點的in比out大1,終點的out比in大1,只有這兩個點的in和out是不一樣,其他點的in和out的一樣的,所以同時找到起點。如果是迴路的話,找個有out的當起點就行,當然要按著字典序!然...
NYOJ 單詞拼接
時間限制 3000 ms 記憶體限制 65535 kb 難度 5 描述 給你一些單詞,請你判斷能否把它們首尾串起來串成一串。前乙個單詞的結尾應該與下乙個單詞的道字母相同。如aloha dogarachnid gopher tiger rat可以拼接成 aloha.arachnid.dog.gophe...