文档章节

PAT A1038. Recover the Smallest Number (30)

 阿豪boy
发布于 2017/02/26 17:55
字数 316
阅读 8
收藏 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;
}

 

© 著作权归作者所有

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

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

souldepth
2016/04/27
12.5K
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
0
实现二叉查找树的迭代器 Binary Search Tree Iterator

问题: 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 the ......

叶枫啦啦
2017/11/09
0
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
0
简单谈一点linux内核中套接字的bind机制--2.6.30内核代码的改进

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

晨曦之光
2012/04/10
157
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

windbg调试C源码级驱动

联机方式不多说了。我博客里有,英文的。 windbg联机文档 https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/debug-universal-drivers---step-by-step-lab--echo-kernel......

simpower
31分钟前
0
0
redis快照和AOF简介

数据持久化到硬盘:一是快照(snapshotting),二是只追加文件(append-only file AOF) 快照 核心原理:redis某个时间内存内的所有数据写入硬盘 场景:redis快照内存里面的数据 1. 用户发送bgsav...

拐美人
32分钟前
0
0
这个七夕,送你一份程序员教科书级别的告白指南

给广大爱码士们的高能预警: 今天,就是七夕了…… (单身非作战人群请速速退场!) 时常有技术GG向个推君抱怨 经过网民多年的教育 以及技术人持之以恒的自黑 冲锋衣狂热分子·格子衫骨灰级粉...

个推
36分钟前
0
0
python爬虫日志(15)cookie详解

转载:原文地址 早期Web开发面临的最大问题之一是如何管理状态。服务器端没有办法知道两个请求是否来自于同一个浏览器。那时的办法是在请求的页面中插入一个token,并且在下一次请求中将这个...

茫羽行
37分钟前
0
0
qlv视频格式转换器

  腾讯视频中的视频影视资源有很多,小编经常在里面下载视频观看,应该也有很多朋友和小编一样吧,最近热播的电视剧也不少,如《香蜜沉沉烬如霜》、《夜天子》还有已经完结的《扶摇》,这么...

萤火的萤火
41分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部