noip1998 多位数连接 (排序,字符串处理)
2015-08-15 10:49
295 查看
A1118. 多位数连接
时间限制:1.0s 内存限制:256.0MB
总提交次数:823
AC次数:214 平均分:60.51
将本题分享到:
查看未格式化的试题 提交 试题讨论
试题来源
NOIP1998 提高组
问题描述
设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数。
例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213
又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613
输入格式
输入包含两行,第一行为整数n(n≤20),第二行为题设的n个正整数(≤100000)
输出格式
输出为一个整数,是组成的最大的多位整数。
解析:用字符串读入,排个序再输出就ok。
代码:
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
string s[25];
bool cmp(string a,string b)
{
return a+b>b+a;
}
int main()
{
int n,i,j,k;
scanf("%d",&n);
for(i=1;i<=n;i++)cin>>s[i];
sort(s+1,s+1+n,cmp);
for(i=1;i<=n;i++)cout<<s[i];
cout<<endl;
return 0;
}
时间限制:1.0s 内存限制:256.0MB
总提交次数:823
AC次数:214 平均分:60.51
将本题分享到:
查看未格式化的试题 提交 试题讨论
试题来源
NOIP1998 提高组
问题描述
设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数。
例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213
又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613
输入格式
输入包含两行,第一行为整数n(n≤20),第二行为题设的n个正整数(≤100000)
输出格式
输出为一个整数,是组成的最大的多位整数。
解析:用字符串读入,排个序再输出就ok。
代码:
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
string s[25];
bool cmp(string a,string b)
{
return a+b>b+a;
}
int main()
{
int n,i,j,k;
scanf("%d",&n);
for(i=1;i<=n;i++)cin>>s[i];
sort(s+1,s+1+n,cmp);
for(i=1;i<=n;i++)cout<<s[i];
cout<<endl;
return 0;
}
相关文章推荐
- Linux 成长之路 1
- lightOJ 1248 - Dice (III) 概率DP
- uva 12301 - An Angular Puzzle(几何)
- mysql timestamp格式
- Oracle逻辑存储结构1—概述
- 分享:高效开发Android App的10个建议
- 哈佛首位女校长福斯特在学生毕业典礼上的演讲--我们为什么焦虑
- android中src和background区别
- MySQL常用技巧
- 欧几里德扩展方程 详解
- HDU 1166 敌兵布阵(线段树)
- Javascript基础(1)基本介绍
- 程序链接
- [盈利指导] App推广干货,排名数据分析优化效果
- uva 12300 - Smallest Regular Polygon(几何)
- HDU 1023 Train Problem II(Catalan)
- 每天一个linux命令(53):route命令
- 如何用取尺法处理连续区间内数字相同
- layout_gravity和gravity
- 加速了土壤深根技术,建立了完善的技术体系,改变思维模式,引创造新的工作流程。。。