/*
八个串排出最小字典序(8!枚举)
单纯地对子字符串进行排序是不行的,直接比较大小会忽略掉组合后因长度不同而产生的问题。
例如是b和ba,b比ba小,但组合起来后,bba却比bab大。
所以,对于子字符串s1和s2,此题的关键不在于s1和s2的大小关系,而在于s1+s2和s2+s1的大小关系
*/
/*
Run Time: 0secs
Run Memory: 312KB
*/
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int cmp(string left, string right){
return left+right < right+left;
}
int main()
{
int T;
int N;
string list[8];
cin >> T;
while (T > 0){
cin >> N;
for(int i=0; i<N; i++)
cin >> list[i];
sort(list, list+N, cmp);
for(int i=0; i<N; i++)
cout << list[i];
cout << endl;
T--;
}
return 0;
}
Sicily 1198. Substring
最新推荐文章于 2017-06-09 16:53:26 发布