蓝桥杯 5. 拼数
拼数
原题目链接
题目描述
给定 n 个正整数 a1, a2, …, an,你可以将它们任意排序。
现要将这 n 个数字连接成一排,即令相邻数字收尾相接,组成一个数。
问,这个数最大可以是多少。
输入格式
- 第一行输入一个正整数 n(1 ≤ n ≤ 20)。
- 第二行输入 n 个正整数 a1, a2, …, an(1 ≤ ai ≤ 10⁵)。
输出格式
输出一个整数,表示答案。
输入输出样例
输入
3
13 312 343
输出
34331213
c++代码
#include<bits/stdc++.h>using namespace std;bool mycmp(string a, string b) { return a + b > b + a; }int main() {int n;cin >> n;vector<string> arr(n);for (int i = 0; i < n; i++) cin >> arr[i];sort(arr.begin(), arr.end(), mycmp);string ans;for (string s : arr) ans += s;cout << ans;return 0;
}//by wqs