沧海一声喵 2018-02-24 19:29:00
点我顶贴
收藏
删除
#include <cstdio>
#include <algorithm>
using namespace std;
int cmp(const int &s,const int &t){
int a=s,b=t,la,lb,sa[20],sb[20],l,pa,pb;
for(la=0;a;){
sa[++la]=a%10;
a=a/10;}
for(lb=0;b;){
sb[++lb]=b%10;
b=b/10;}
l=la>lb?la:lb;pa=la;pb=lb;
while(l>0){
if(sa[la]!=sb[lb]) return sa[la]>sb[lb];
l--;la--;lb--;
if(la==0) la=pa;
if(lb==0) lb=pb;}}
int main(){
int a[25],n,i;
scanf("%d",&n);
for(i=1;i<=n;i++) scanf("%d",&a[i]);
sort(a+1,a+n+1,cmp);
for(i=1;i<=n;i++) printf("%d",a[i]);
return 0;}