拼接数字

Time Limit: 2000/1000ms (Java/Others)

Problem Description:

给定一个正整数数组,现在把数组所有数字都拼接成一个大数字,如何使得拼接后的数字最小。

Input:

输入包含多组测试数据,每组数据首先输入一个整数n(1<=n<=10000),接下来有n个整数a[i](1<=a[i]<=10^5);

Output:

对于每组数据,输出拼接后最小的数字。

Sample Input:

3
3 32 321

Sample Output:

321323
解题思路:这道题中每个输入元素(最多6位)应看成字符串来处理,可以用vector来保存字符串。要使拼接得到的数字最小,应该遵循x+y<y+x的排序规则,最后直接输出元素即可。
AC代码:
 #include<bits/stdc++.h>
using namespace std;
bool cmp(string x,string y){
return x+y<y+x;
}
int main()
{
int n;vector<string> vec;char a[];
while(cin>>n){
vec.clear();
for(int i=;i<n;++i){
cin>>a;vec.push_back(a);
}
sort(vec.begin(),vec.end(),cmp);
for(int i=;i<n;++i)
cout<<vec[i];
cout<<endl;
}
return ;
}

ACM_拼接数字的更多相关文章

  1. Python常用变量处理手记(拼接数字,转json)

    1.拼接字符串和数字时,应先把数字做转换 如,bytes(page) 再做拼接:str+page 或者 s = 'abc' print s + str(1) #abc1 使用list和tuple 参考 ...

  2. ACM_写数字

    写数字 Time Limit: 2000/1000ms (Java/Others) Problem Description: 把由1开始的自然数依次写下来:123456789101112……,重新分组 ...

  3. [ACM_动态规划] 数字三角形(数塔)_递推_记忆化搜索

    1.直接用递归函数计算状态转移方程,效率十分低下,可以考虑用递推方法,其实就是“正着推导,逆着计算” #include<iostream> #include<algorithm> ...

  4. [ACM_动态规划] 数字三角形(数塔)

    递归方法解决数塔问题 状态转移方程:d[i][j]=a[i][j]+max{d[i+1][j],d[i+1][j+1]} 注意:1\d[i][j]表示从i,j出发的最大总和;2\变界值设为0;3\递归 ...

  5. C#拼接SQL中in条件

    一.拼接字符串类型的字段 string sql = @"select distinct ziduan from tablename where ziduan in ('{0}')" ...

  6. Codeforces Round #506 (Div. 3) - D. Concatenated Multiples(思维拼接求是否为k的倍数)

    题意 给你N个数字和一个K,问一共有几种拼接数字的方式使得到的数字是K的倍数,拼接:“234”和“123”拼接得到“234123” 分析: N <= 2e5,简单的暴力O(N^2)枚举肯定超时 ...

  7. 剑指Offer:面试题33——把数组排成最小的数(java实现)(未完待续)

    问题描述: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323. 思路1: ...

  8. 楼天城楼教主的acm心路历程(作为励志用)

    楼主个人博客:小杰博客 利用假期空暇之时,将这几年GCJ,ACM,TopCoder 參加的一些重要比赛作个 回顾.昨天是GCJ2006 的回顾,今天时间上更早一些吧,我如今还清晰记得3 年 前,我刚刚 ...

  9. JS函数实现金额小写转大写

    ///<summery>小写金额转化大写金额</summery> function AmountLtoU(amount) { if (isNaN(amount) || amou ...

随机推荐

  1. 【small项目】MySQL第二天早上第一次连接超时报错,解决方法com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:

    MySQL第二天早上第一次连接超时报错,解决方法com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link ...

  2. 常见Unix指令

    常用的UNIX指令: 1.文件和目录操作 ls –l  列出当前目录下的所有内容(文件\文件夹) pwd  显示出当前目录的名称 cd  改变当前操作的目录 who  显示当前用户名 clear    ...

  3. JSP的异常处理

    以下内容引用自http://wiki.jikexueyuan.com/project/jsp/exception-handling.html: 当写JSP代码的时候,有可能会留下一个编码错误,并且它会 ...

  4. Google Chrome Developer Tools

    原文:https://www.oschina.net/p/chromedevtools Google发布了Google Chrome Developer Tools,这是一系列面向Chrome开发者的 ...

  5. Mybatis 增强工具包 Mybatis-Plus

    原文:https://www.oschina.net/p/mybatis-plus

  6. TCP/IP协议族-----22、万维网和HTTP

  7. 【CERC2008】【BZOJ4319】Suffix reconstruction

    Description 话说练习后缀数组时,小C 刷遍 poj 后缀数组题. 各类字符串题闻之丧胆.就在准备对敌方武将发出连环杀时,对方一记无中生有,又一招顺 手牵羊.小C 程序中的原字符数组就被牵走 ...

  8. 编程算法 - 两个升序列的同样元素 代码(C)

    两个升序列的同样元素 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 两个升序列的同样元素, 须要使用两个指针, 依次遍历, 假设相等输出, 假设小于或 ...

  9. Wget下载多个链接

    需要wget下载多个文件链接时,可以采用如下方法: 1. 将链接存入文件url.list中: 2. wget -bc -i url.list -o [log_file] -P [target_dir] ...

  10. 扩展gcd求解二元不定方程及其证明

    #include <cstdio> #include <iostream> using namespace std; /*扩展gcd证明 由于当d = gcd(a,b)时: d ...