【洛谷试炼场】【模拟专题】P1012 拼数

【题目描述】

设有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

本题思路:

水题。
用字符串存储

一个自定义排序搞定:两个字符串在 正着方和倒着放 选大的

关键代码

1 int cmp(string a,string b)
2 {
3     return a+b>b+a;
4 }

 1 #include<iostream>
 2 #include<algorithm>
 3 #include<cstring>
 4 using namespace std;
 5 int cmp(string a,string b)
 6 {
 7     return a+b>b+a;
 8 }
 9 int main()
10 {
11     int n;
12     cin>>n;
13     string a[25];
14     for(int i=0;i<n;i++)cin>>a[i];
15     sort(a,a+n,cmp);
16     for(int i=0;i<n;i++)cout<<a[i];
17     return 0;
18 }

查看完整代码

于2016-08-12 22:12:26记

时间: 2024-10-15 17:17:19

【洛谷试炼场】【模拟专题】P1012 拼数的相关文章

洛谷 P1012 拼数

P1012 拼数 标签 字符串 排序 NOIp提高组 1998 云端 难度 普及- 时空限制 1s / 128MB 题目描述 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613 输入输出格式 输入格式: 第一行,一个正整数n. 第二行,n个正整数. 输出格式: 一个正整数,表示最大的整数 输入输出样例 输入样例#1:

P1012 拼数

P1012 拼数 输入输出样例 输入样例 3 13 312 343 输出样例 34331213 注意 当你输入: 6321 32 407 135 13 217 应该输出: 4073232121713513 代码: #include<iostream> #include<cstdio> #include<cmath> #include<algorithm> #include<cstring> #include<string> using

洛谷 P1012 拼数 Label:续命模拟QAQ

题目描述 设有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 代码 1 #include<iostream> 2

洛谷P1012 拼数

题目描述 设有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排序一下就

洛谷——P1012 拼数

https://www.luogu.org/problem/show?pid=1012#sub 题目描述 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613 输入输出格式 输入格式: 第一行,一个正整数n. 第二行,n个正整数. 输出格式: 一个正整数,表示最大的整数 输入输出样例 输入样例#1: 3 13 312

洛谷P1012拼数(string相加)(小技巧)

题目描述 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613 输入输出格式 输入格式: 第一行,一个正整数n. 第二行,n个正整数. 输出格式: 一个正整数,表示最大的整数 题解 其实本来想用char一位位比较的... 然而忽然想起string好像可以直接相加(...) 例如 s1="abc"; s2=&q

[NOIP2006] 提高组 洛谷P1066 2^k进制数

题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数. (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换为2进制数q后,则q的总位数不超过w. 在这里,正整数k(1≤k≤9)和w(k<W< span>≤30000)是事先给定的. 问:满足上述条件的不同的r共有多少个? 我们再从另一角度作些解释:设S是长度为w 的01字符串(即字符串S由w个“0”或“1”组成),S对应于上述条件(3)中的q.将S从右起划分为

洛谷P1722 矩阵 II(Catalan数)

P1722 矩阵 II 题目背景 usqwedf 改编系列题. 题目描述 如果你在百忙之中抽空看题,请自动跳到第六行. 众所周知,在中国古代算筹中,红为正,黑为负…… 给定一个1*(2n)的矩阵(usqwedf:这不是一个2n的队列么),现让你自由地放入红色算筹和黑色算筹,使矩阵平衡[即对于所有的i(1<=i<=2n),使第1~i格中红色算筹个数大于等于黑色算筹] 问有多少种方案满足矩阵平衡. 见样例解释. 输入输出格式 输入格式: 正整数 n 输出格式: 方案数t对100取模 输入输出样例

【洛谷P2104&#183;模拟】二进制

题面 题目描述 小Z最近学会了二进制数,他觉得太小的二进制数太没意思,于是他想对一个巨大二进制数做以下 4 种基础运算: 运算 1:将整个二进制数加 1 运算 2:将整个二进制数减 1 运算 3:将整个二进制数乘 2 运算 4:将整个二进制数整除 2 小Z很想知道运算后的结果,他只好向你求助. (Ps:为了简化问题,数据保证+,-操作不会导致最高位的进位与退位) 输入输出格式 输入格式: 第一行两个正整数 n,m,表示原二进制数的长度以及运算数. 接下来一行 n 个字符,分别为'0'或'1'表示