讨论 / 额……C++的23行AC代码
橙子.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;

}

查看更多回复
提交回复