昨天去做志愿服务去了没写成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的更多相关文章

  1. 【欧拉回路+最小生成树】SD开车@山东2018省队一轮集训day1

    目录 [欧拉回路+最小生成树]SD开车@山东2018省队一轮集训day1 PROBLEM 题目描述 输入 输出 样例输入 样例输出 提示 SOLUTION CODE [欧拉回路+最小生成树]SD开车@ ...

  2. IDC Digital Transition Annual Festival(2018.10.19)

    时间:2018.10.19地点:北京万达文化酒店

  3. 2018.10.19浪在ACM 集训队第一次测试赛

    2018.10.19浪在ACM 集训队第一次测试赛 待参考资料: [1]:https://blog.csdn.net/XLno_name/article/details/78559973?utm_so ...

  4. 20172319 2018.10.19《Java程序设计教程》第7周课堂实践(补写博客)

    20172319 2018.10.19 <Java程序设计教程>第7周课堂实践 课程:<程序设计与数据结构> 班级:1723 学生:唐才铭 学号:20172319 指导老师:王 ...

  5. AI Summit(2018.07.19)

    AI Summit 时间:2018.07.19地点:北京丽都皇冠假日酒店

  6. STL 入门 (17 暑假集训第一周)

    快速全排列的函数 头文件<algorithm> next_permutation(a,a+n) ---------------------------------------------- ...

  7. 2015UESTC 暑假集训总结

    day1: 考微观经济学去了…… day2: 一开始就看了看一道题目最短的B题,拍了半小时交了上去wa了 感觉自己一定是自己想错了,于是去拍大家都过的A题,十分钟拍完交上去就A了 然后B题写了一发暴力 ...

  8. Burn Down Chart(2018.6.4~2018.6.10)

    Burn Down Chart (2018.6.4~2018.6.10) 娄雨禛[前端部分] 曾子轩[后端部分+燃尽图] 前端 1. 娄雨禛+李鑫 1)在总工程中完成跳转,实现图片显示,并发布到Git ...

  9. [转]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 ...

随机推荐

  1. malloc()与calloc差异

    Both the malloc() and the calloc() functions are used to allocate dynamic memory. Each operates slig ...

  2. ORA-00600: internal error code, arguments: [4194], [53], [41], [], [], [], [], []

    真的不动,关闭同事开发测试IBM 3650server它直接关系到电源插头行??? 第二天加点重新启动之后oracle 打开报错ORA-00600: internal error code, argu ...

  3. WPF 属性变更通知类的实现

    原文:WPF 属性变更通知类的实现 平时用依赖属性多一些,普通属性的变更通知知道有这个方法,但是老是忘记名字,再写一遍吧. public class Student : INotifyProperty ...

  4. js的位置和执行情况

    放到<head>中的<script>在body加载之前就已经运行了. 写在body中的<script>是随着页面的加载而一个个执行的.

  5. String 源码分析

    Java 源码阅读 - String String 类型看起来简单,实际上背后的复杂性基本可以涵盖了整个 Java 设计,涉及到设计模式(不可变对象).缓存(String Pool 的理念).JVM( ...

  6. WPF 自定义验证规则

    <Window x:Class="DataBindingExam.MainWindow"        xmlns="http://schemas.microsof ...

  7. .NET CORE EnvironmentVariable

    .NET CORE System variables SETIn System variablese.g1:Variable name: ASPNETCORE_ENVIRONMENTVariable ...

  8. C# XML 去xmlns:xsd和xmlns:xsi属性

    public static XElement WithoutNamespaces(this XElement element) { if (element == null) return null; ...

  9. iOS Widget简单使用

    iOS的Widget类似Android的Notification设置flags为Notification.FLAG_ONGOING_EVENT后      OK,大约知道是什么意思了,现在可以开始码了 ...

  10. Windows实用小工具-问题步骤记录器

    今晚给大家介绍个实用的好工具,可以做简单的问题记录,再也不用截图加注释这么辛苦了····· 经测试,这东东在win7,2008 及2008R2里适用,也就是说,在win7以上的系统中才有.好了,下面直 ...