洛谷 - 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 ...
随机推荐
- javaproject积累——树形结构的操作
近期一直被树形结构整的非常头大,又是递归.又是循环.可是,好在我们在经历了千辛万苦后.最终弄出来了.事实上就是组织机构的常规操作,有些是我们过度设计.有些是我们想错了.而对数的逻辑读取,我们就属于想错 ...
- evaluate-reverse-polish-notation——栈
Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are+,-,*, ...
- Node.js机制及原理理解初步
http://blog.csdn.net/leftfist/article/details/41891407 一.node.js优缺点 node.js是单线程. 好处就是 1)简单 2)高性能,避免了 ...
- Qt Quick之StackView具体解释(1)
Qt Quick中有个StackView.我在<Qt Quick核心编程>一书中没有讲到.近期有人问起,趁机学习了一下,把它的基本使用方法记录下来. 我准备分两次来讲.第一次讲主要的使用方 ...
- [Python-MATLAB] 在Python中调用MATLAB的API
可以参考官方的说明文档: http://cn.mathworks.com/help/matlab/matlab_external/get-started-with-matlab-engine-for- ...
- Linux上Libevent的安装
1.下载wget -O libevent-2.0.21-stable.tar.gz https://github.com/downloads/libevent/libevent/libevent-2. ...
- Raspberry Pi For Windows
Raspberry Pi ------For Windows Step 1: In order to write the image for SD,we should download and ins ...
- c# 连接各种数据库 Access、Server等
1.C#连接连接Access程序代码: using System.Data;using System.Data.OleDb;..string strConnection="Provider= ...
- TiDB 整体架构 结合yarn zookeeper分析架构
TiDB 简介与整体架构| PingCAP https://www.pingcap.com/docs-cn/overview/ 真正金融级高可用 相比于传统主从 (M-S) 复制方案,基于 Raft ...
- js-easyUI格式化时间
formatter : function(value, row) { if(value != null){ var date = new Date(value); var y = date.getFu ...