文档章节

PAT A1038. Recover the Smallest Number (30)

 阿豪boy
发布于 2017/02/26 17:55
字数 316
阅读 7
收藏 0
点赞 0
评论 0

Given a collection of number segments, you are supposed to recover the smallest number from them. For example, given {32, 321, 3214, 0229, 87}, we can recover many numbers such like 32-321-3214-0229-87 or 0229-32-87-321-3214 with respect to different orders of combinations of these segments, and the smallest number is 0229-321-3214-32-87.

Input Specification:

Each input file contains one test case. Each case gives a positive integer N (<=10000) followed by N number segments. Each segment contains a non-negative integer of no more than 8 digits. All the numbers in a line are separated by a space.

Output Specification:

For each test case, print the smallest number in one line. Do not output leading zeros.

Sample Input:

5 32 321 3214 0229 87

Sample Output:

22932132143287

 

题意:

    给出若干可能含有前导0的数字串,将他们按照某个顺序拼接,使得生成的数字最小

    对数字串s1和s2,如果 s1+s2 < s2+s1那么就将s1放在s2的前面,否则把s2放在s1的前面

#include <iostream>
#include <cstdio>
#include <algorithm> 
#include <string.h>

using namespace std;
const int MAX = 10010;
string str[MAX];

//如果a+b < b+a 就把a排在前面 

int cmp(string a, string b) {
	return a + b < b + a;
}
int main(int argc, char *argv[]) {
	int n;
	scanf("%d", &n);
	for (int i = 0; i < n; i++)
		cin >> str[i];
	sort(str, str + n, cmp);
	string ans;
	for (int i = 0; i < n; i++)
		ans += str[i];
	int i = 0;
	while (i < ans.size() - 1 && ans[i] == '0')i++;
	while (i < ans.size())
		printf("%c", ans[i++]);
	printf("\n");
	return 0;
}

 

© 著作权归作者所有

共有 人打赏支持
粉丝 21
博文 877
码字总数 630930
作品 0
西安
hls之m3u8、ts流格式详解

HLS,Http Live Streaming 是由Apple公司定义的用于实时流传输的协议,HLS基于HTTP协议实现,传输内容包括两部分,一是M3U8描述文件,二是TS媒体文件。 1、M3U8文件 用文本方式对媒体文件进行...

souldepth ⋅ 2016/04/27 ⋅ 1

[leetcode]Binary Search Tree Iterator

question Implement an iterator over a binary search tree (BST). Your iterator will be initialized with the root node of a BST. Calling will return the next smallest number in th......

NineRec ⋅ 2015/08/27 ⋅ 0

VK Cup 2018 - Round 1 A. Primal Sport

A. Primal Sport 1.5 seconds 256 megabytes standard input standard output Alice and Bob begin their day with a quick game. They first choose a starting number X0 ≥ 3 and try t......

fire_to_cheat_ ⋅ 03/17 ⋅ 0

简单谈一点linux内核中套接字的bind机制--2.6.30内核代码的改进

在2.6.30之前的内核版本中,如果一个要求绑定随机端口的套接字在遍历了所有的哈希表中的元素之后发现没有合适的,那么直接出错返回,这里有几个问题,第一就是如果当前系统的绑定套接字已经足...

晨曦之光 ⋅ 2012/04/10 ⋅ 0

一些linux shelll简单练习_无需整理

整理了几道Shell编程实例,针对新手! 1. 在/home目录中创建一百个目录,目录名称依次为a1……a100. 2. 编写一个脚本,自动将用户主目录下所有小于5KB的文件打包成XX.tar.gz.(提示:用ls,g...

鬼谷子灬 ⋅ 2015/06/12 ⋅ 0

Codeforces Hello 2018 C. Party Lemonade 贪心、优先队列

C. Party Lemonade 1 second 256 megabytes standard input standard output A New Year party is not a New Year party without lemonade! As usual, you are expecting a lot of guests, a......

ProLightsfxjh ⋅ 01/13 ⋅ 0

【PAT】1025. PAT Ranking (25)

题目 链接:https://www.patest.cn/contests/pat-a-practise/1025 Programming Ability Test (PAT) is organized by the College of Computer Science and Technology of Zhejiang Universi......

fanfan4569 ⋅ 02/01 ⋅ 0

Oracle PL/SQL – CEIL function example

The function round the specified number up, and return the smallest number that is greater than or equal to the specified number. CEIL function examples References CEIL Function......

Dhaval Dadhaniya ⋅ 2017/08/05 ⋅ 0

PAT A1049. Counting Ones (30)

Counting Ones (30) https://www.patest.cn/contests/pat-a-practise/1049 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue The task is simple......

阿豪boy ⋅ 2016/11/12 ⋅ 0

HDU 6214 Smallest Minimum Cut 【最小割】

Smallest Minimum Cut Time Limit: 2000/2000 MS (Java/Others) Memory Limit:65535/32768 K (Java/Others) Total Submission(s): 110 Accepted Submission(s): 33 Problem Description Cons......

my_sunshine26 ⋅ 2017/09/17 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Java 后台判断是否为ajax请求

/** * 是否是Ajax请求 * @param request * @return */public static boolean isAjax(ServletRequest request){return "XMLHttpRequest".equalsIgnoreCase(((HttpServletReques......

JavaSon712 ⋅ 27分钟前 ⋅ 0

Redis 单线程 为何却需要事务处理并发问题

Redis是单线程处理,也就是命令会顺序执行。那么为什么会存在并发问题呢? 个人理解是,虽然redis是单线程,但是可以同时有多个客户端访问,每个客户端会有 一个线程。客户端访问之间存在竞争...

码代码的小司机 ⋅ 58分钟前 ⋅ 0

到底会改名吗?微软GVFS 改名之争

微软去年透露了 Git Virtual File System(GVFS)项目,GVFS 是 Git 版本控制系统的一个开源插件,允许 Git 处理 TB 规模的代码库,比如 270 GB 的 Windows 代码库。该项目公布之初就引发了争...

linux-tao ⋅ 今天 ⋅ 0

笔试题之Java基础部分【简】【二】

1.静态变量和实例变量的区别 在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变...

anlve ⋅ 今天 ⋅ 0

Lombok简单介绍及使用

官网 通过简单注解来精简代码达到消除冗长代码的目的 优点 提高编程效率 使代码更简洁 消除冗长代码 避免修改字段名字时忘记修改方法名 4.idea中安装lombnok pom.xml引入 <dependency> <grou...

to_ln ⋅ 今天 ⋅ 0

【转】JS浮点数运算Bug的解决办法

37.5*5.5=206.08 (JS算出来是这样的一个结果,我四舍五入取两位小数) 我先怀疑是四舍五入的问题,就直接用JS算了一个结果为:206.08499999999998 怎么会这样,两个只有一位小数的数字相乘,怎...

NickSoki ⋅ 今天 ⋅ 0

table eg

user_id user_name full_name 1 zhangsan 张三 2 lisi 李四 `` ™ [========] 2018-06-18 09:42:06 星期一½ gdsgagagagdsgasgagadsgdasgagsa...

qwfys ⋅ 今天 ⋅ 0

一个有趣的Java问题

先来看看源码: public class TestDemo { public static void main(String[] args) { Integer a = 10; Integer b = 20; swap(a, b); System.out......

linxyz ⋅ 今天 ⋅ 0

十五周二次课

十五周二次课 17.1mysql主从介绍 17.2准备工作 17.3配置主 17.4配置从 17.5测试主从同步 17.1mysql主从介绍 MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主...

河图再现 ⋅ 今天 ⋅ 0

docker安装snmp rrdtool环境

以Ubuntu16:04作为基础版本 docker pull ubuntu:16.04 启动一个容器 docker run -d -i -t --name flow_mete ubuntu:16.04 bash 进入容器 docker exec -it flow_mete bash cd ~ 安装基本软件 ......

messud4312 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部