题目链接>>>>>>
题目大意:
给出一些字符串,问能否将这些字符串 按照 词语接龙,首尾相接 的规则 使得每个字符串出现一次
如果可以 按字典序输出这个字符串序列
#include#include #include #include #include #include #define M 1050 using namespace std;int n, top;struct edge { int to, vis, id; //to代表边的终点,id代表边的编号};vector w[M];string str[M]; //原来还可以这样定义字符串数组int ans[M];int fa[29];int find(int x){ return x == fa[x] ? x : fa[x] = find(fa[x]);}void fleury(int loc){ for (int i = 0; i > str[i]; sort(str, str + n); //根据字典序排序 edge edg; int start; for (int i = 0; i = 0; i--) //要使输出的单词按字典序输出 { if (i == 0) cout << str[ans[i]] << endl; else cout << str[ans[i]] << "."; } } else cout << "***" << endl; } return 0;}
2018-04-07