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