The Smallest String Concatenation
题目链接:http://codeforces.com/problemset/problem/632/C
——每天在线,欢迎留言谈论。
题目大意:
给你n个字符串,相加后 字典序最小
思路:
只需要保证每个相邻的两个字符串组合后 s1+s2>s2+s1 即可。
用sort()快速排序,最后依次输出即可!
AC代码:
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
const int MAXN=5e4+;
string ss[MAXN];
bool cmp(string s1,string s2)
{
return s1+s2<s2+s1;
}
int main()
{
int n;
cin>>n;
for(int i=;i<n;i++)
cin>>ss[i];
sort(ss,ss+n,cmp);
for(int i=;i<n;i++)
cout<<ss[i];
cout<<endl;
return ;
}
2017-05-07 19:20:25