讨论 / 小白题解
沧海一声喵 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;}

查看更多回复
提交回复