1047: string
时间限制: 1 Sec 内存限制: 128 MB题目描述
有n个字符串字符串n<=50000,把所有字符串串起来,得到一个字典序最小的字符串。
输入
输入第一行是一个整数n,接下来的n行包含n串字符串,字符串长度小于50。
输出
输出一行字符串s,是所有可能组成的字符串中字典序排序最小的字符串。
样例输入
4 abc xyz hij qqqq
样例输出
abchijqqqqxyz
提示
input
5
x
xx
xxa
xxaa
xxaaa
output
xxaaaxxaaxxaxxx
排序即可:
#include <iostream> #include <string.h> #include <string> #include <map> #include <algorithm> using namespace std; typedef long long ll; string a[50010]; bool cmp(string a,string b){ return a+b < b+a; } int main() { int n; cin >> n; for(int i = 0;i < n; i++) cin >> a[i]; sort(a,a+n,cmp); for(int i = 0;i < n; i++) cout << a[i]; cout << endl; return 0; } // writen by zhangjiuding