whyyb

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

3414:【例71.3】 拼最大整数 http://bas.ssoier.cn:8086/problem_show.php?pid=3414

【题目描述】 设有n 个正整数(n<20),将它们联接成一排,组成一个最大的多位整数。

例如: n=3时,3个整数13,312,343 联接成的最大整数为:34331213。

又如:n=4时,4个整数7,13,4,46 联接成的最大整数为:7424613。

【输入】 第一行,一个正整数n。 第二行,n个正整数。

【输出】 一个正整数,表示最大的整数。 【输入样例】 3 13 312 343 【输出样例】 34331213 

 

 1 #include<iostream>
 2 #include<algorithm>
 3 using namespace std;
 4 int n,i;
 5 string str[25];
 6 bool cmp(string a,string b){
 7     return a+b>b+a;
 8 }
 9 int main(){
10     cin>>n;
11     for(i=1;i<=n;i++)    cin>>str[i];
12     sort(str+1,str+n+1,cmp);
13     for(i=1;i<=n;i++)    cout<<str[i];
14     return 0;
15 }

 

posted on 2023-10-27 11:19  波--  阅读(410)  评论(0)    收藏  举报