整数连接 HNUST 1544(贪心 字典序排列变形 string +sort )
来源:互联网 发布:知乎删除问题 编辑:程序博客网 时间:2024/06/06 03:10
题目描述
设有n个正整数,将它们联接成一排,组成一个最小的多位整数。例如,3个整数32,3,21连接成的最小整数为:21323。
既然这是第一个题,那就要简单一点,不然很多参赛选手会很伤心的,因此,我特地将这个题目简化了一下,限定n个正整数的取值为1至99之间的正整数。
输入
先输入正整数个数n的值(1<=n<=50);
然后输入n个正整数(取值范围为1~99)。
输出
输出n个正整数连接而成的最小整数。
样例输入
3
32 3 21
样例输出
设有n个正整数,将它们联接成一排,组成一个最小的多位整数。例如,3个整数32,3,21连接成的最小整数为:21323。
既然这是第一个题,那就要简单一点,不然很多参赛选手会很伤心的,因此,我特地将这个题目简化了一下,限定n个正整数的取值为1至99之间的正整数。
输入
先输入正整数个数n的值(1<=n<=50);
然后输入n个正整数(取值范围为1~99)。
输出
输出n个正整数连接而成的最小整数。
样例输入
3
32 3 21
样例输出
21323
思路:贪心 2个字符数组的顺序比较((a.s+b.s)<(b.s+a.s))
#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#define maxn 500001using namespace std;int n;struct data{ string s;}A[maxn]; bool cmp(data a,data b){ if((a.s+b.s)<(b.s+a.s)) return 1; return 0;} int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) cin>>A[i].s; sort(A+1,A+n+1,cmp); for(int i=1;i<=n;i++) cout<<A[i].s; return 0;}
阅读全文
0 0
- 整数连接 HNUST 1544(贪心 字典序排列变形 string +sort )
- 连接整数(贪心)
- POJ-1318(list.sort()输出不为字典序,map才是按字典序排列)
- HNUST 1442 排列问题(顺序排列模板)
- 全排列 字典序排列
- HNUST 1454: 挑战ACM迷宫(BFS+贪心)
- HDU-#1716 排列2(不重复排列+字典序)
- 全排列(1) ----字典序
- 全排列(递归和字典序)
- 字典序排列(借助于TreeSet实现)
- 字典序全排列
- 字典序全排列
- poj1833--排列--字典序
- 字典序全排列
- 字典序全排列
- 全排列-字典序
- 字典序生成排列
- 全排列-字典序
- Not enough physical memory is available to power on this virtual machine
- Android函数响应式编程——必学的RxJava过滤操作符filter、elementAt、distinct、skip、take、ignoreElements、throttleFirst
- Effective STL学习笔记-条款45-50
- Python知识点(1)python基础 强制数据类型转换 小总结
- VS中删除以前增加的库文件
- 整数连接 HNUST 1544(贪心 字典序排列变形 string +sort )
- STL中vector和array的比较
- 线程
- 用两个线程玩猜数字游戏,第一个线程负责随机给出1~100之间的一个整数,第二个线程负责猜出这个数。要求每当第二个线程给出自己的猜测后,第一个线程都会提示“猜小了”、“猜大了”或“猜对
- bzoj 5090: 组题
- 进程与线程
- webkitdirectory 实现文件夹上传(包含文件夹大小和文件个数的校验)
- centos下的mysql修改登录密码过程
- SCI-HUB,就是打不死的小强,最新网址又出来了