洛谷 P1012 拼数 题解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了洛谷 P1012 拼数 题解相关的知识,希望对你有一定的参考价值。
此文为博主原创题解,转载时请通知博主,并把原文链接放在正文醒目位置。
题目链接:https://www.luogu.org/problem/show?pid=1012
题目描述
设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数。
例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213
又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613
输入输出格式
输入格式:第一行,一个正整数n。
第二行,n个正整数。
输出格式:一个正整数,表示最大的整数
输入输出样例
输入样例#1:
3 13 312 343
输出样例#1:
34331213
分析:
string真的太好用了qwqqqq
自带运算符什么的超级棒qwqqq
排个序就好了
AC代码:
1 #include<cstdio> 2 #include<algorithm> 3 #include<iostream> 4 #include<string> 5 6 int n; 7 std::string s[30]; 8 9 int cmp(std::string a,std::string b) 10 {return a+b > b+a;} 11 12 int main() 13 { 14 scanf("%d",&n); 15 for(int i = 1;i <= n;++ i) 16 std::cin>>s[i]; 17 std::sort(s+1,s+1+n,cmp); 18 for(int i = 1;i <= n;++ i) 19 std::cout<<s[i]; 20 printf("\n"); 21 return 0; 22 }
以上是关于洛谷 P1012 拼数 题解的主要内容,如果未能解决你的问题,请参考以下文章