1998年NOIP全国联赛提高组

题目描述

设有n个正整数 (n<=20), 将它们连接成一排,  组成一个最大的多位整数.
例如: n=3时, 3个整数13, 312, 343连接成的最大整数为: 34331213
又如: n=4时, 4个整数7,13,4,246连接成的最大整数为: 7424613

输入输出格式

输入格式:

n 
n个数

输出格式:

连接成的多位数

输入输出样例

输入样例#1:

3
13 312 343
4
7 13 4 246

输出样例#1:

34331213

7424613

思路

  鉴于n<=20爆搜即可,主要数据范围开到long long(int64)

var a:Array[..] of ansistring;
f:array[..] of boolean;
ans,anss,n,x:int64;
i:longint; function max(x,y:int64):int64;
begin
if x>y then exit(x) else exit(y);
end; procedure dfs(x,y:longint;s:ansistring);
var i,j,c:longint;
begin
if y=n then
begin
val(s,anss,c);
ans:=max(ans,anss);
exit;
end;
for i:= to n do
if not f[i] then
begin
f[i]:=true;
dfs(i,y+,s+a[i]);
f[i]:=false;
end;
end; begin
fillchar(f,sizeof(f),false);
ans:=;
readln(n);
for i:= to n do
begin
read(x);
str(x,a[i]);
end;
for i:= to n do
begin
f[i]:=true;
dfs(i,,a[i]);
f[i]:=false;
end;
writeln(ans);
end.

  当然还是有正规做法的:其实这一题的关键就是巧妙地运用排序和字符串的特性即可以轻松通过了字符串的特性是什么呢?就是字符串在相加时,比如‘1’+‘2’他会得到‘12’,而‘2’+‘1’会得到‘21’。所以呢,利用此特性,再用选排来模拟每一种情况,就能十分容易的找出正确答案了。

var a:array[..]of ansistring;
b,c,d,i,j,k,l,m,n,o:longint;
s,t,jia:ansistring;
begin
readln(n);
for i:= to n do begin{读入,因为读入的数据中有空格,所以先读入成数字,然后再转换到字符串数组中}
read(m);str(m,a[i]);
end;
for i:= to n- do{巧妙地运用选排}
for j:=i+ to n do
begin
if a[i]+a[j]<a[j]+a[i] then begin {因为字符串的特性(如下),选排会将所有的情况一一模拟,继而派出题目要求的最大数}
t:=a[i];
a[i]:=a[j];
a[j]:=t;end;
end;
for i:= to n do{已经排完序后,依次输出就是正确答案了}
write(a[i]);
end.

[NOIP1998]最大数的更多相关文章

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

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

  2. nyoj 448 寻找最大数(贪心专题)

    寻找最大数 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 请在整数 n 中删除m个数字, 使得余下的数字按原次序组成的新数最大, 比如当n=920813467185 ...

  3. javascript基础程序(算出一个数的平方值、算出一个数的阶乘、输出!- !- !- !- !- -! -! -! -! -! 、函数三个数中的最大数)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. AC日记——找最大数序列 openjudge 1.9 10

    10:找最大数序列 总时间限制:  1000ms 内存限制:  65536kB 描述 输入n行,每行不超过100个无符号整数,无符号数不超过4位.请输出最大整数以及最大整数所在的行号(行号从1开始). ...

  5. BZOJ1012 [JSOI2008]最大数maxnumber

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...

  6. ACM 寻找最大数

    寻找最大数 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 请在整数 n 中删除m个数字, 使得余下的数字按原次序组成的新数最大, 比如当n=920813467185 ...

  7. BZOJ-1012[JSOI2008]最大数maxnumber 线段树区间最值

    这道题相对简单下面是题目: 1012: [JSOI2008]最大数maxnumber Time Limit: 3 Sec Memory Limit: 162 MB Submit: 6542 Solve ...

  8. ORA-01000:超出打开游标的最大数(C#)

    在做一个windows服务,通过查询文本不断的插入数据的功能.测试一直没有问题,到实际环境中跑起来后程序退出,查看日志发现报的这个错误 ORA-01000:超出打开游标的最大数 经过上网查询发现是由于 ...

  9. codevs 1201 最小数和最大数

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

随机推荐

  1. sublime主题推荐

    PS:之前在CSDN上写的文章,现在转到博客园~ 寒假的时候发现一个sublime主题,我觉得很赞哦~~推荐给大家~~ 下载方式 step1:ctrl+shift+p  调出command palet ...

  2. wpf 只在window是ShowDialog打开时才设置DialogResult

    //only set DialogResult when window is ShowDialog before if(System.Windows.Interop.ComponentDispatch ...

  3. asp.net mvc 事务处理:Transactions

    1.在控制器里引用using System.Transactions; 2.在你需要事务回滚的地方外面套一层using (TransactionScope sc = new TransactionSc ...

  4. Bootstrap简易使用指南

    1.框架 1.1全局样式 使用HTML5的doctype,scaffolding.less中定义全局样式,从2开始使用normalize.css,并使用reset.less进行简化 1.2默认栅格系统 ...

  5. hdu 1255 覆盖的面积 (线段树处理面积覆盖问题(模板))

    http://acm.hdu.edu.cn/showproblem.php?pid=1255 覆盖的面积 Time Limit: 10000/5000 MS (Java/Others)    Memo ...

  6. 使用Sass预定义一些常用的样式,非常方便(转)

    SS预处理技术现在已经非常成熟,比较流行的有Less,Sass,Stylus,在开发过程中提升我们的工作效率,缩短开发时间,方便管理和维护代码,可以根据自己的喜好选择一款自己喜欢的工具开发,使用很接近 ...

  7. 如何使一个input文本框随其中内容而变化长度(转)

    第一: <input type="text" onkeydown="this.onkeyup();" onkeyup="this.size=(t ...

  8. bzoj 2406: 矩阵 上下界网络流判定

    2406: 矩阵 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 138  Solved: 46[Submit][Status][Discuss] De ...

  9. 如何查看Linux的磁盘空间还有多少

    无论是Linux还是unix,都提供了很多工具来查看磁盘空间的大小. 1. df命令,df命令,可以查看当前文件系统占用的空间的大小,以及剩余的大小,如下例子: Filesystem     1K-b ...

  10. 查看java的.class文件的方法

    在不通过eclipse等IDE安装反编译插件的情况下查看java的.class文件的方法:可以通过下载jd-gui class文件查看工具进行查看.如附件的“jd-gui.exe”程序. 1. 从网上 ...