整数连接

来源:互联网 发布:js如何存map 编辑:程序博客网 时间:2024/06/10 12:56

题目描述

设有n个正整数,将它们联接成一排,组成一个最小的多位整数。例如,3个整数32321连接成的最小整数为:21323
既然这是第一个题,那就要简单一点,不然很多参赛选手会很伤心的,因此,我特地将这个题目简化了一下,限定n个正整数的取值为1至99之间的正整数。

输入

先输入正整数个数n的值(1<=n<=50);
然后输入n个正整数(取值范围为1~99)。

输出

输出n个正整数连接而成的最小整数。

样例输入

332 3 21

样例输出

21323
#include<stdio.h>#include<algorithm>using namespace std;struct node{int a;int b;int c;} str[50];bool cmp(node x,node y){if(x.b!=y.b){returnx.b<y.b;}else{returnx.c<y.c;}}int main(){int i,n;while(scanf("%d",&n)!=EOF){ for(i=0;i<n;i++){scanf("%d",&str[i].a);if(str[i].a>9){str[i].b=str[i].a/10;str[i].c=str[i].a%10;}else{str[i].b=str[i].a%10;str[i].c=str[i].a%10;}}sort(str,str+n,cmp);for(i=0;i<n;i++)printf("%d",str[i].a);}return 0;}

0 0