洛谷 - P1012 - 拼数 - 排序
https://www.luogu.org/problemnew/show/P1012
这道水题居然翻车了,还发现不了bug,服气了。并不是空字符一定比不空要好,要取决于替代它的字符的大小。所以还是直接比较两个字符串互相接后的字典序就好了。
错误代码如下:
#include<bits/stdc++.h>
using namespace std;
#define ll long long string s[];
int n; struct cmp{
bool operator()(string s1,string s2){
int n1=s1.length();
int n2=s2.length();
int ml=max(s1.length(),s2.length());
for(int i=;i<ml;i++){
if(i<n1&&i<n2&&s1[i]!=s2[i])
return s1[i]>s2[i];
else{
if(i==n1)
return ;
else if(i==n2)
return ;
}
}
return ;
}
}; int main(){
cin>>n;
for(int i=;i<n;i++)
cin>>s[i];
sort(s,s+n,cmp());
string ans;
for(int i=;i<n;i++)
ans+=s[i];
cout<<ans<<endl;
}
翻车的数据还是很简单的:
好吧,正确的写法应该是:
#include<bits/stdc++.h>
using namespace std;
#define ll long long string s[];
int n; struct cmp{
bool operator()(string s1,string s2){
return s1+s2>s2+s1;
}
}; int main(){
cin>>n;
for(int i=;i<n;i++)
cin>>s[i];
sort(s,s+n,cmp());
string ans;
for(int i=;i<n;i++)
ans+=s[i];
cout<<ans<<endl;
}
洛谷 - P1012 - 拼数 - 排序的更多相关文章
- 洛谷 P1012 拼数
P1012 拼数 标签 字符串 排序 NOIp提高组 1998 云端 难度 普及- 时空限制 1s / 128MB 题目描述 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例 ...
- 洛谷P1012 拼数【字符串+排序】
设有nn个正整数(n≤20)(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3n=3时,33个整数1313,312312,343343联接成的最大整数为:3433121334331 ...
- 洛谷——P1012拼数字符串操作(拼接排序)
#include<bits/stdc++.h> using namespace std; bool cmp(const string &a,const string &b) ...
- 洛谷P1012 拼数 【题解】
**原题链接** 题目描述 设有n个正整数(n ≤ 20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时 ...
- 洛谷P1012 拼数 string
又是大水题... 这一题过水,令人无法接受...... 但是如果我们不知道string的一个神奇的性质的话,就会很难受. 我一开始手写 < 号,但是发现如果 string a 的前一部分恰好是 ...
- 洛谷P1012 拼数
题目描述 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时,4个整数7,13,4 ...
- 洛谷 P1012 拼数 Label:续命模拟QAQ
题目描述 设有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 ...
随机推荐
- BUPT复试专题—奇偶求和(2014软件)
题目描述 给出N个数,求出这N个数,奇数的和以及偶数的和. 输入 第一行为测试数据的组数T(1<=T<=50).请注意,任意两组测试数据之间是相互独立的. 每组数据包括两行: 第一行为一个 ...
- MongoDB---出现no write has been done on this connection解决方式
no write has been done on this connection 这个问题出现了好几天.日志里面一天出现几十次no write has been done on this conne ...
- Eclipse打包Android项目时用到proguard.cfg后,出现的Warning:can't find referenced class问题的解决方式
Warning: can't find superclass or interface Warning: can't find referenced class 这两个问题的解决方法: 1.要把你项目 ...
- 6.非关系型数据库(Nosql)之mongodb:集群(主从复制)
1.主从复制是MongoDB最经常使用的复制方式.这样的方式很灵活,可用于备份.故障恢复.读扩展等 2最主要的设置方式就是建立一个主节点和一个或多个从节点,每一个从节点要知道主节点的地址. 执行 ...
- npm ERR! code EINTEGRITY npm ERR! sha1- 报错解决办法
npm ERR! code EINTEGRITY npm ERR! sha1- 报错日志 npm ERR! code EINTEGRITY npm ERR! sha1-OGchPo3Xm/Ho8jAM ...
- Git使用之Permission Denied问题解决
今天碰到了Git的Permission Denied问题. 在安装好git之后,我们通常会配置username和邮箱 git config --global user.name "zengj ...
- 初学unity 3D 遇到的一个问题--预制体选项没有找到。
没有找到预制体这个选项. 我的工程如下:
- 在Qt Creator中为Qt工程添加资源
1.右键单击工程 -> Add New ... -> Qt -> Qt Resource File -> Choose... -> Name: -> Next -& ...
- HDU 6114 Chess 【组合数】(2017"百度之星"程序设计大赛 - 初赛(B))
Chess Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- Hadoop一些要注意的点
1.大多小文件的劣处: a. 生成更多的map任务,额外的开销: b. 每个文件都需要守址时间: c. HDFS上namenode需要占用内存空间: