#include <bits/stdc++.h>
using namespace std;
string str[10010];
bool cmp(string s1,string s2)
{
return s1+s2<s2+s1;
}
int main()
{
int n,i,j,now;
while(cin>>n)
{
for(i=0;i<n;i++)
cin>>str[i];
sort(str,str+n,cmp);
now=0;
for(i=0;i<n;i++)
{
if(now+str[i].length()>=1000)
{
for(j=0;j<1000-now;j++)
printf("%c",str[i][j]);
printf("\n");
for(j=1000-now;j<str[i].length();j++)
printf("%c",str[i][j]);
}
else
{
for(j=0;j<str[i].length();j++)
printf("%c",str[i][j]);
}
now=(now+str[i].length())%1000;
}
}
}
51nod 1097 拼成最小的数
最新推荐文章于 2021-09-03 20:20:41 发布