题目描述

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

[分析]:

首先我们可以证明最大的答案字典序也一定最大。

并且大家一定都知道C++的string类,然而可能不知道的是,这个类还定义了'<'运算符和'+'运算符。

而<的定义为按字典序比较,+的定义为字符串直接连接。

恰好符合此题题意。

[代码]:

#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=;
int n;
string in[maxn];
bool cmp(const string &a,const string &b)
{
return a+b > b+a;
}
int main()
{
ios::sync_with_stdio();
cin>>n;
for(int i=;i<=n;i++)
cin>>in[i];
sort(in+,in++n,cmp);
for(int i=;i<=n;i++)
cout<<in[i];
cout<<endl;
return ;
}
#include <iostream>
#include <algorithm> //所需函数
#include <cstring>
#include <string>
using namespace std;
int n;
string s[];
string ans = "";
int main()
{
cin >> n;
for (int i = ; i <= n; i++)
cin >> s[i];
do
{
string t;
for (int i = ; i <= n; i++)
t = t + s[i]; //生成每一个数字(字符串)
if (t > ans)
ans = t; //字符串可以直接比较
}while (next_permutation(s+,s+n+)); //全排列
cout << ans << endl;
return ;
}

next_permutation

洛谷 P1012 拼数 [字符串]的更多相关文章

  1. 洛谷——P1012拼数字符串操作(拼接排序)

    #include<bits/stdc++.h> using namespace std; bool cmp(const string &a,const string &b) ...

  2. 洛谷 P1012 拼数

    P1012 拼数 标签 字符串 排序 NOIp提高组 1998 云端 难度 普及- 时空限制 1s / 128MB 题目描述 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例 ...

  3. 洛谷P1012 拼数【字符串+排序】

    设有nn个正整数(n≤20)(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3n=3时,33个整数1313,312312,343343联接成的最大整数为:3433121334331 ...

  4. 洛谷P1012 拼数 string

    又是大水题... 这一题过水,令人无法接受...... 但是如果我们不知道string的一个神奇的性质的话,就会很难受. 我一开始手写 < 号,但是发现如果 string a 的前一部分恰好是 ...

  5. 洛谷 - P1012 - 拼数 - 排序

    https://www.luogu.org/problemnew/show/P1012 这道水题居然翻车了,还发现不了bug,服气了.并不是空字符一定比不空要好,要取决于替代它的字符的大小.所以还是直 ...

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

    题目描述 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时,4个整数7,13,4 ...

  7. 洛谷P1012 拼数 【题解】

    **原题链接** 题目描述 设有n个正整数(n ≤ 20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时 ...

  8. 洛谷P1012 拼数

    题目描述 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时,4个整数7,13,4 ...

  9. [NOIP1998] 提高组 洛谷P1012 拼数

    题目描述 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时,4个整数7,13,4 ...

随机推荐

  1. P1712 [NOI2016]区间

    题目描述 在数轴上有 NN 个闭区间 [l_1,r_1],[l_2,r_2],...,[l_n,r_n][l1​,r1​],[l2​,r2​],...,[ln​,rn​] .现在要从中选出 MM 个区 ...

  2. Java Integer比较

    今天看微信做了一个选择题,对Integer比较结果有点意外,题目如下: public static void main(String[] args) { Integer a = 1; Integer ...

  3. [洛谷P2604][ZJOI2010]网络扩容

    题目大意:给定一张有向图,每条边都有一个容量C和一个扩容费用W.这里扩容费用是指将容量扩大1所需的费用. 求: 1.在不扩容的情况下,1到N的最大流: 2.将1到N的最大流增加K所需的最小费用. 题解 ...

  4. 你试过不用if写代码吗?

    我在教新手编程时,喜欢给他们一些小小的挑战,比如:不使用if语句(或者三元运算符.switch语句等)解决一些编程问题.这样做有什么意义吗?事实上,它可以迫使你从不同的角度寻找解决方法,也许可以找到更 ...

  5. [Leetcode] remove element 删除元素

    Given an array and a value, remove all instances of that value in place and return the new length. T ...

  6. 工具——代码中自动生成SVN版本号

    本节和大家讨论一下程序集版本最后一位使用SVN版本号的自动生成方法,这里就向大家简单介绍一下.在进行自动部署的时候,经常需要用脚本获取程序的最新版本号.现在我们定义每个程序集的版本信息的最末段表示SV ...

  7. taotao购物车

    功能分析: 1.在用户不登陆的情况下也可以使用购物车,那么就需要把购物车信息放入cookie中. 2.可以把商品信息,存放到pojo中,然后序列化成json存入cookie中. 3.取商品信息可以从c ...

  8. 怎么给word加底纹

  9. Kafka自我学习-报错篇

    1. kafka启动出现:Unsupported major.minor version 52.0 错误,  具体的错误输出: Exception in thread "main" ...

  10. Cannot load project: com.intellij.ide.plugins.PluginManager$StartupAbortedException

    今天电脑突然蓝屏,idea异常关闭,开机重启后,打开idea,点击项目出现 Cannot load project: com.intellij.ide.plugins.PluginManager$St ...