2018.8.19 2018暑假集训之maxnum
昨天去做志愿服务去了没写成Q_Q
今天再来一道
先放题面描述
设有n个正整数(n<=20),将它们联成一排,组成一个最大的多位数
设有n个正整数(n<=20),将它们联成一排,组成一个最大的多位数。 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时,4个整数7,13,4,246联接成的最大整数为7424613
程序输入:n 以及n个数
程序输出:n个数联接成的多位数。
样例输入: 4
7 13 4 246
样例输出:7424613
做了这个题突然感觉所有题目的样例都十分的水
想到字符串从大到小排序输出有没有?
然而这个题正解并不是这样(一个点也过不了)
举个栗子
321和32哪个应该排在前面??
显然32应该排在前面所以不能用字典序排序
然而我们可以换一种排序方法
简而言之就是枚举哪个串放在前面的字典序最大(因为32132和32321位数一样)
上代码
#include<iostream>
#include<algorithm>
using namespace std;
string a[];
int n;
bool flag1;
bool cmp(string,string);
int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++)
{
cin>>a[i];//数据太小cin就能过
if(a[i]!="")flag1=;//处理全都是0的情况,避免输出一大堆0(然鹅好像并没有这种数据)
}
sort(a+,a+n+,cmp);
if(!flag1)putchar('');
else for(int i=;i<=n;i++)cout<<a[i];
return ;
}
bool cmp(string a,string b)
{
return a+b>b+a;//这里是重点!!
//连接两个字符串后得到的两个新串明显位数一样,所以可以直接比较字典序
//注意大的在前!!
}
满满是坑的一道题啊
大家以后一定想好再写
2018.8.19 2018暑假集训之maxnum的更多相关文章
- 【欧拉回路+最小生成树】SD开车@山东2018省队一轮集训day1
目录 [欧拉回路+最小生成树]SD开车@山东2018省队一轮集训day1 PROBLEM 题目描述 输入 输出 样例输入 样例输出 提示 SOLUTION CODE [欧拉回路+最小生成树]SD开车@ ...
- IDC Digital Transition Annual Festival(2018.10.19)
时间:2018.10.19地点:北京万达文化酒店
- 2018.10.19浪在ACM 集训队第一次测试赛
2018.10.19浪在ACM 集训队第一次测试赛 待参考资料: [1]:https://blog.csdn.net/XLno_name/article/details/78559973?utm_so ...
- 20172319 2018.10.19《Java程序设计教程》第7周课堂实践(补写博客)
20172319 2018.10.19 <Java程序设计教程>第7周课堂实践 课程:<程序设计与数据结构> 班级:1723 学生:唐才铭 学号:20172319 指导老师:王 ...
- AI Summit(2018.07.19)
AI Summit 时间:2018.07.19地点:北京丽都皇冠假日酒店
- STL 入门 (17 暑假集训第一周)
快速全排列的函数 头文件<algorithm> next_permutation(a,a+n) ---------------------------------------------- ...
- 2015UESTC 暑假集训总结
day1: 考微观经济学去了…… day2: 一开始就看了看一道题目最短的B题,拍了半小时交了上去wa了 感觉自己一定是自己想错了,于是去拍大家都过的A题,十分钟拍完交上去就A了 然后B题写了一发暴力 ...
- Burn Down Chart(2018.6.4~2018.6.10)
Burn Down Chart (2018.6.4~2018.6.10) 娄雨禛[前端部分] 曾子轩[后端部分+燃尽图] 前端 1. 娄雨禛+李鑫 1)在总工程中完成跳转,实现图片显示,并发布到Git ...
- [转]Adobe CC 2018 下载链接 Creative Cloud 2018 - Creative Cloud 2018 – Adobe CC 2018 Download Links
Creative Cloud 2018 – Adobe CC 2018 Download Links – ALL Languages Adobe CC 2018Direct Downloads Win ...
随机推荐
- malloc()与calloc差异
Both the malloc() and the calloc() functions are used to allocate dynamic memory. Each operates slig ...
- ORA-00600: internal error code, arguments: [4194], [53], [41], [], [], [], [], []
真的不动,关闭同事开发测试IBM 3650server它直接关系到电源插头行??? 第二天加点重新启动之后oracle 打开报错ORA-00600: internal error code, argu ...
- WPF 属性变更通知类的实现
原文:WPF 属性变更通知类的实现 平时用依赖属性多一些,普通属性的变更通知知道有这个方法,但是老是忘记名字,再写一遍吧. public class Student : INotifyProperty ...
- js的位置和执行情况
放到<head>中的<script>在body加载之前就已经运行了. 写在body中的<script>是随着页面的加载而一个个执行的.
- String 源码分析
Java 源码阅读 - String String 类型看起来简单,实际上背后的复杂性基本可以涵盖了整个 Java 设计,涉及到设计模式(不可变对象).缓存(String Pool 的理念).JVM( ...
- WPF 自定义验证规则
<Window x:Class="DataBindingExam.MainWindow" xmlns="http://schemas.microsof ...
- .NET CORE EnvironmentVariable
.NET CORE System variables SETIn System variablese.g1:Variable name: ASPNETCORE_ENVIRONMENTVariable ...
- C# XML 去xmlns:xsd和xmlns:xsi属性
public static XElement WithoutNamespaces(this XElement element) { if (element == null) return null; ...
- iOS Widget简单使用
iOS的Widget类似Android的Notification设置flags为Notification.FLAG_ONGOING_EVENT后 OK,大约知道是什么意思了,现在可以开始码了 ...
- Windows实用小工具-问题步骤记录器
今晚给大家介绍个实用的好工具,可以做简单的问题记录,再也不用截图加注释这么辛苦了····· 经测试,这东东在win7,2008 及2008R2里适用,也就是说,在win7以上的系统中才有.好了,下面直 ...