洛谷P1012 拼数 【题解】
题目描述
设有n个正整数(n ≤ 20),将它们联接成一排,组成一个最大的多位整数。
例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213
又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613
输入描述:
第一行,一个正整数n。
第二行,n个正整数。
输出描述:
一个正整数,表示最大的整数
分析:
要用一组正整数组成一个最大的多位整数,很自然的想到给这组正整数
按字典序排序,然后按字典序从大到小把这组正整数连接起来。
但,我们来看这么一组数据:30 300。
它们可以组成:
30300、30030
两个数字。
显然:
30300>30030 \\
X(300)>X(30)
\end{cases}
\]
其中X(n)为表示字典序大小的函数。
这和我们直觉上的大字典序在前,后链接小字典序所组合多位整数更大的判断不同。
所以,我们不能直接比较两个数字典序就的大小,而是要比较两个数前后放置组成的数是否比较大。
即:
\]
其中,F(x)为两正整数组合后的数值大小,A、B为正整数。
代码
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
string a[40];
bool cmp(const string &a,const string &b){
return a+b<b+a;
}
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++)cin>>a[i];
sort(a,a+n,cmp);
string s;
for(int i=n-1;~i;i--)s+=a[i];
cout<<s<<endl;
return 0;
}
洛谷P1012 拼数 【题解】的更多相关文章
- 洛谷 P1012 拼数
P1012 拼数 标签 字符串 排序 NOIp提高组 1998 云端 难度 普及- 时空限制 1s / 128MB 题目描述 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例 ...
- 洛谷P1012 拼数 string
又是大水题... 这一题过水,令人无法接受...... 但是如果我们不知道string的一个神奇的性质的话,就会很难受. 我一开始手写 < 号,但是发现如果 string a 的前一部分恰好是 ...
- 洛谷 P1012 拼数 Label:续命模拟QAQ
题目描述 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时,4个整数7,13,4 ...
- 洛谷 - P1012 - 拼数 - 排序
https://www.luogu.org/problemnew/show/P1012 这道水题居然翻车了,还发现不了bug,服气了.并不是空字符一定比不空要好,要取决于替代它的字符的大小.所以还是直 ...
- 洛谷P1012 拼数
题目描述 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时,4个整数7,13,4 ...
- 洛谷 P1012 拼数 [字符串]
题目描述 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时,4个整数7,13,4 ...
- [NOIP1998] 提高组 洛谷P1012 拼数
题目描述 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时,4个整数7,13,4 ...
- 洛谷P1012 拼数【字符串+排序】
设有nn个正整数(n≤20)(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3n=3时,33个整数1313,312312,343343联接成的最大整数为:3433121334331 ...
- 洛谷——P1012 拼数
https://www.luogu.org/problem/show?pid=1012#sub 题目描述 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整 ...
随机推荐
- 消息队列之Kafka——从架构技术重新理解Kafka
Apache Kafka® 是 一个分布式流处理平台. 这到底意味着什么呢? 我们知道流处理平台有以下三种特性: 可以让你发布和订阅流式的记录.这一方面与消息队列或者企业消息系统类似. 可以储存流式的 ...
- 浅谈产品模型(Profile)在程序设计中的作用
引言:物联网平台的一个重要功能就是资产管理,产品或者设备都可以看成是资产中组成部分,所以有时候说物联网平台可以进行产品管理和设备管理.通常应用物联网平台开发一套具有产品或者设备管理功能的系统的时候,必 ...
- nginx配置之虚拟主机功能
虚拟主机功能: 一个nginx下运行多个网址(站点域名) 方式一:nginx.conf中的http{}中的每一个server{}就是一个站点(相同端口): #虚拟主机1 server { listen ...
- 第一篇:百度AI注册使用
百度AI (https://ai.baidu.com/)点击右上角<控制台>进行登录 内容审核: 操作文档:
- day06:三级菜单练习0218
#1:省份数列:data = { "北京":{ "昌平":{ "沙河":["oldboy","电信" ...
- .net System.Web.Mail发送邮件 (设置发件人 只显示用户名)
http://blog.163.com/hao_2468/blog/static/130881568201141251642215/ .net System.Web.Mail发送邮件 2011-05- ...
- VS中自定义代码片段
VS - 工具 - 代码片段管理器 实现:propnotify 加 Tab 键 生成属性定义代码片段 (包含一个字段定义,一个属性get/set定义,其中set会触发属性值变更事件) <?xml ...
- leetcode350之实现求解两数组交集(包含重复元素)
给定两个数组,编写一个函数来计算它们的交集. 说明: 输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致. 我们可以不考虑输出结果的顺序 def binarySearch(nums, t ...
- [工具推荐]004.EXE签名工具SignTool使用教程
数字证书,真是个神奇的东西,可以保证软件不被修改,可以表明文件的发布日期,最重要的,可以很大程度的减少杀毒软件的误报,当然,这就要使用可信任的机构颁发的证书了. 现在要说的不是申请证书,而是如何制作自 ...
- python requests用于测试
https://blog.csdn.net/niedongri/article/details/71404314 https://blog.csdn.net/temanm/article/detail ...