1860 最大数

 
 
题目描述 Description

  设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数。

输入描述 Input Description

  第一行一个正整数n。

  第二行n个正整数,空格隔开。

输出描述 Output Description

  连接成的多位数。

样例输入 Sample Input

Sample 1:

3

13 312 343

Sample 2:

4

7 13 4 246

样例输出 Sample Output

Sample 1:

34331213

Sample 2:

7424613

数据范围及提示 Data Size & Hint

n≤20

题意:第一行输入N,然后输入N个数。让你组合这些数字,输出最大值;

主要还是在于判断,比较a,b的位置,判断方法为a+b的组合数>b+a的组合数:

采用了优先队列+贪心:

 #include <iostream>
#include <algorithm>
#include <string>
#include <queue>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
using namespace std;
struct node
{
int Len;
int n;
friend bool operator <(node a,node b)
{
int Len1,Len2,j,i;
for(i=,Len1=;i<a.Len;i++)Len1*=;
for(i=,Len2=;i<b.Len;i++)Len2*=;
return a.n*Len2+b.n<b.n*Len1+a.n;
}
};
int main()
{
int N,i;
int Num[];
while(scanf("%d",&N)!=EOF)
{
priority_queue<node>ID;
node num;
int sign,j;
for(i=;i<N;i++)
{
scanf("%d",&num.n);
j=num.n;sign=;
while(j)
{
sign++;
j/=;
}
num.Len=sign;
ID.push(num);
}
for(i=;i<N;i++)
{
printf("%d",ID.top().n);
ID.pop();
}putchar();
}
return ;
}
 

【codevs】1860 最大数的更多相关文章

  1. Codevs 1860 最大数 string大法好,STL万岁。。

    题目描述 Description 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 输入描述 Input Description 第一行一个正整数n. 第二行n个正整数,空格隔开 ...

  2. Codevs 1860 最大数

    题目描述 Description 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 输入描述 Input Description 第一行一个正整数n. 第二行n个正整数,空格隔开 ...

  3. codevs——T1860 最大数||洛谷——P1107 最大整数

    http://codevs.cn/problem/1860/ || https://www.luogu.org/problem/show?pid=1107#sub 题目描述 Description 设 ...

  4. 华南师大 2017 年 ACM 程序设计竞赛新生初赛题解

    题解 被你们虐了千百遍的题目和 OJ 也很累的,也想要休息,所以你们别想了,行行好放过它们,我们来看题解吧... A. 诡异的计数法 Description cgy 太喜欢质数了以至于他计数也需要用质 ...

  5. codevs 1201 最小数和最大数

    http://codevs.cn/problem/1201/ 1201 最小数和最大数  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 青铜 Bronze 题解       题 ...

  6. CODEVS 3943 数学奇才琪露诺

    [题目描述 Description] 作为上白泽慧音老师的出色弟子,数学奇才琪露诺在算术方面有很深的造诣.今天,codevs有幸请到了这位数学界的奇葩作为本场考试的第一题主考官. 琪露诺喜欢0-9之间 ...

  7. BZOJ1012: [JSOI2008]最大数maxnumber [线段树 | 单调栈+二分]

    1012: [JSOI2008]最大数maxnumber Time Limit: 3 Sec  Memory Limit: 162 MBSubmit: 8748  Solved: 3835[Submi ...

  8. codevs 3289 花匠

    题目:codevs 3289 花匠 链接:http://codevs.cn/problem/3289/ 这道题有点像最长上升序列,但这里不是上升,是最长"波浪"子序列.用动态规划可 ...

  9. codevs 1082 线段树练习 3(区间维护)

    codevs 1082 线段树练习 3  时间限制: 3 s  空间限制: 128000 KB  题目等级 : 大师 Master 题目描述 Description 给你N个数,有两种操作: 1:给区 ...

随机推荐

  1. linux 安装php的redis拓展

    安装步骤: #wget  https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz #tar -zxvf 2.2.4 #cd phpredi ...

  2. HDU 5890 Eighty seven

    预处理,$01$背包,$bitset$优化. 可以预处理出每一种询问的答案,用$01$背包计算答案,$dp[i][j][k]$表示,前$i$个数字中,选择了$j$个,能否凑出$k$这个数字,可以开成$ ...

  3. PyCharm基本使用

    调节PyCharm的背景颜色 File>Settings>Appearance&Behavior>Appearance 在PyCharm中切换Python解释器版本 File ...

  4. 一步步优化JVM三:GC优化基础

    本节主要描述关于垃圾回收器性能的三个指标,三个关于垃圾回收器优化的基本原则,以及优化HotSpot VM的垃圾回收器的信息收集,在这些指标中权衡以及信息的收集是非常重要的. 性能指标    吞吐量:衡 ...

  5. 向量相加CUDA练习

    #include<string.h> #include<math.h> #include<stdlib.h> #include<stdio.h> #de ...

  6. 【ubuntu】开机启动

    背景 在ubuntu下做开发,虚拟机要经常开启和关闭,重要的进程需要随机自启,非重要的可以手工启动.比如nginx就需要自启,confluence就没那么重要了. 为了控制哪些程序要自启,哪些程序不要 ...

  7. java中|与||有什么区别?那么&与&&呢

    ||当左边为真时,就不运行右边的表达式了|当左边为真,还是会运算右边的表达式&&当左边为假时,就不会运算右边的表达式&当左边为假时,还是会运算右边的表达式

  8. docker openvswitch网络方案

    1. 测试环境 75机(10.11.150.75):Red Hat Enterprise Linux Server 7.0,无外网访问权限,已安装Docker Server 74机(10.11.150 ...

  9. openstack添加数据库

    输入:neutron-db-manage revision -m "表的名称"        neutron-db-manage upgrade head 如果遇到版本名找不到的情 ...

  10. Android系统签名文件

    系统签名所需要的工具 signapk.jar -------------------->out/host/linux-x86/framework/signapk.jar (build/tools ...