51nod1097
从这题算是学到了排序的技巧
#include<bits/stdc++.h>
using namespace std;
string s[10000+10];
bool cmp(string s1,string s2)
{
return s1+s2<s2+s1;
}
int main()
{
int n,len=0;
scanf("%d",&n);
for(int i=0;i<n;i++) cin>>s[i];
sort(s,s+n,cmp);
for(int i=0;i<n;i++)
{
len+=s[i].size();
if(len<=1000)
cout<<s[i];
else
{
len-=s[i].size();
for(int j=0;j<s[i].size();j++)
{
if(len==1000)
cout<<endl,len-=1000;
len++;
cout<<s[i][j];
}
}
}
return 0;
}