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 }

浙公网安备 33010602011771号