橙子.is_蒟蒻=true 2016-09-14 07:51:32
点我顶贴
收藏
删除
重点在cmp函数……
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
bool cmp(string s1,string s2)
{
string cs1,cs2;
if(s1.length()<s2.length())cs1=s1,cs2=s2;else cs1=s2,cs2=s1;
for(unsigned int i=0;i<cs2.length();i++)if(cs1[i]!=cs2[i])return s1.length()<s2.length()?cs1[i%cs1.length()]>cs2[i]:cs1[i%cs1.length()]<cs2[i];
return 1;
}
int main()
{
ios::sync_with_stdio(0);
short n;
cin>>n;
vector<string> l(n);
for(int i=0;i<n;i++)cin>>l[i];
sort(l.begin(),l.begin()+n,cmp);
for(int i=0;i<n;i++)cout<<l[i];
return 0;
}