CODE[VS] 1860 最大数 1998年NOIP全国联赛提高组

题目描述 Description

  设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数。

输入描述 Input Description

  第一行一个正整数n。

  第二行n个正整数,空格隔开。  

输出描述 Output Description

  连接成的多位数。

样例输入 Sample Input

Sample 1:

3

13 312 343

 

Sample 2:

4

7 13 4 246

 

样例输出 Sample Output

Sample 1:

34331213

 

Sample 2:

7424613

 

数据范围及提示 Data Size & Hint

n≤20

各位客官注意了啊!

哇,这题,,在我以为非常麻烦,要从最前面一位儿开始逐个比较,

把大的放前面,,,简直快要崩溃的时候,,

突然!!!

发现一个瞎搞的方法!!!

太鬼畜了!!!

cmp函数居然还能这么写!!!

这也太简单了吧!!!

字符串,直接比较啊!!!

wait,!这。。。我之前好像见过。。。

请自行感触吧2333

代码:

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cmath>
 4 #include<algorithm>
 5 #include<cstring>
 6 #include<queue>
 7 using namespace std;
 8 
 9 int n;
10 string a[22];
11 
12 bool cmp(string x,string y)
13 {
14     return x+y>y+x;
15 }
16 
17 int main()
18 {
19     scanf("%d",&n);
20     for(int i=1;i<=n;++i)
21         cin>>a[i];
22     sort(a+1,a+n+1,cmp);
23     for(int i=1;i<=n;++i)
24         cout<<a[i];
25     return 0;
26 }

 如果你不开心,那我就把右边这个帅傻子分享给你吧,

你看,他这么好看,那么深情的望着你,你还伤心吗?

真的!这照片盯上他五秒钟就想笑了。

一切都会过去的。

时间时间会给你答案2333

原文地址:https://www.cnblogs.com/Mary-Sue/p/9416315.html