洛谷P1012 拼数
洛谷P1012 [NOIP1998 提高组] 拼数
题目描述
设有 nn 个正整数 a_1 \dots a_na1…a**n,将它们联接成一排,相邻数字首尾相接,组成一个最大的整数。
输入格式
第一行有一个整数,表示数字个数 nn。
第二行有 nn 个整数,表示给出的 nn 个整数 a_ia**i。
输出格式
一个正整数,表示最大的整数
输入输出样例
输入 #1
1 | 3 |
输出 #1
1 | 34331213 |
输入 #2
1 | 4 |
输出 #2
1 | 7424613 |
说明/提示
对于全部的测试点,保证 1 \leq n \leq 201≤n≤20,1 \leq a_i \leq 10^91≤a**i≤109。
题目有点脑筋急转的意思,刚开始看到有点无从下手,看了题解后才发现这题目很巧妙。几个数字组成一个最大的数字,就相当于结果的字符串,字典序最大,这样一来就可以用排序做了。
STL的比较函数也很有意思
1 | bool cmp(string a, string b) |
理解上还是有点难的,但是想同后就觉得真的太妙了。
1 |
|
洛谷P1012 拼数