数的连接|NOIP1998 T2|贪心算法
创始人
2024-03-19 00:02:02
0

【题目链接】TYVJ1873

【最大连接数】

三、最大连接数 (NOIP 1998年提高组决赛第2题 maxnumber.pas)

问题描述

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

输入文件

两行:第一行单独一个N;第二行N个数。

输出文件

一行,连接成的多位数。

输入样例

3

13 312 343

输出样例

34331213

【分析】

很容易可以想到:数字越大的放在最前面,最后组成的数字将会是最大的。然而这样的想法是错误的(不要问我怎么知道的>_<),不能用贪心?其实是标准选错了。不妨想既然要保证每个数字连接之后最大,那么就保证连接后的数字最大,同时为了保证数据的范围,很容易想到要用字符串来存储数据(不然会爆的~)。

在C++中可以很轻松的将两个字符串连接起来,即使用运算符“+”,如:对于字符串”123”和”72”, ”123” + “72”  =  “12372”,  “72” + ”123” =  “72123”;

如此只要比较两个字符串相加后的结果就好啦~

【代码】

 1 #include 2 3 #include 4 5 #include 6 7  8 9 int main() {
10 
11        std::vector num;
12 
13        int n = 0;
14 
15        std::cin>>n;
16 
17        for(int i = 0; i < n; i++) {
18 
19               std::string tmp;
20 
21               std::cin>>tmp;
22 
23               num.push_back(tmp);
24 
25        }
26 
27        for(int i = 0; i < n-1; i++) {
28 
29               for(int k = i+1; k < n; k++) {
30 
31                      if(num[i]+num[k] < num[k]+num[i]) {
32 
33                             std::string tmp = num[i];
34 
35                             num[i] = num[k];
36 
37                             num[k] = tmp;
38 
39                      }
40 
41               }
42 
43        }
44 
45        for(int i = 0; i != num.size(); i++) {
46 
47               std::cout< 

相关内容

热门资讯

买菜作文600字 关于买菜作文600字(通用14篇)  在平平淡淡的学习、工作、生活中,大家对作文都不陌生吧,作文一定...
月下独酌的作文650字 月下独酌的作文650字  知了收起它最后一长鸣,荷花绽放它最后一次美丽,我放好最后一件短袖,就这样迎...
关于写人的作文500字以上作... 关于写人的作文500字以上作文 第一篇风吹起,落叶纷飞,你是那一片,我是这一片。和煦的风永远吹不走难...
寸草心-作文 寸草心-作文寸草心在生活中,母亲是我们最常见的人,每一天都能看到母亲忙碌的身影。可是,又有谁真正的回...
关羽作文2000字(通用6篇... 关羽作文2000字 篇一:关羽的英勇与忠诚关羽,字云长,是中国历史上著名的三国时期将领之一,也是中国...
景色风景作文400字通用61... 景色风景作文400字 第一篇秋风吹走了烈日炎炎、鸟语蝉鸣的夏天,向人们推出了一幅天高云淡的秋景图。而...
出口优秀作文 出口优秀作文  在日常学习、工作或生活中,大家一定都接触过作文吧,写作文是培养人们的观察力、联想力、...
什么即景的作文 什么即景的作文(通用6篇)  在学习、工作或生活中,大家或多或少都会接触过作文吧,通过作文可以把我们...
从写作业想到的作文共81篇 从写作业想到的作文 第一篇今天的作业很多,坐在刺眼的灯光下,眼皮似乎格外的沉重,好像它们在打架,怎么...
感冒作文300字 【精选】感冒作文300字(通用30篇)  在我们平凡的日常里,大家对作文都不陌生吧,借助作文人们可以...
我学会了做饭500字以上作文... 我学会了做饭500字以上作文 第一篇寒假里,我嚷着要学做饭,妈妈让从我最爱吃的菜粥开始。妈妈先教我淘...
在路上作文(1500字)(2...   在路上作文(二)  “千里之行,始于足下。我的旅程才刚刚开始。”看完这本书的最后一句话,合上书,...
堕落作文500字 【精华】堕落作文500字(通用38篇)  在日常生活或是工作学习中,许多人都有过写作文的经历,对作文...
一件有意义的事作文400字 一件有意义的事作文400字(精选35篇)  无论是在学校还是在社会中,大家都不可避免地要接触到作文吧...
中国青年中国梦作文1000字 中国青年中国梦作文1000字  “中国梦”具有最大限度为实现国家富强、民族复兴、人民幸福而凝聚人心的...
作文 清明哀思 作文 清明哀思作文 清明哀思1  昨天,花海茫茫,今天,花的倩影仍在那挤满了人的市场里。我的心无比激...
赞美荷花的优美句子 赞美荷花的优美句子(通用180句)  在日常学习、工作或生活中,大家都对那些朗朗上口的句子很是熟悉吧...
写我的家的作文 关于写我的家的作文  我的家,是温馨之家;我的家,是浪漫之家;我的家,是红酒之家,这就是我的家,一个...
沉淀的作文 关于沉淀的作文  在现实生活或工作学习中,大家都经常接触到作文吧,作文是由文字组成,经过人的思想考虑...
我心中的彩虹作文 关于我心中的彩虹作文(精选15篇)  在平平淡淡的日常中,大家都跟作文打过交道吧,作文是经过人的思想...