【题目描述】

一天,笨笨和妈妈玩游戏,妈妈 给笨笨出N个正整数,让笨笨把这N个正整数连接生成一个“大”的整数,每个正整数只使用一次,让笨笨告诉妈妈这样生成的大整数的最大值。

例如,给出4个整数:123, 124, 56, 90,可以连接生成的大整数有:1231245690, 1241235690, 5612312490, 9012312456, 9056124123等等,对本例,总共可以生成24个大整数。而其实最大整数是:9056124123

【输入】

第1行:1 个整数N(1<=N<=50)

第2行:N个整数,每个整数不超过INT_MAX。

【输出】

第1行:生成的最大整数。

【样例输入】

4

123 124 56 90

【样例输出】

9056124123

【分析】
这是一道有关贪心的题。
起初觉得直接按字典序从大到小排序后,依次输出就行了。
自然,最后测出来不对。
例如:
9 91 3
按照刚才的方法,排出来的顺序是;
91 9 3
输出的是;
9193
但实际上,还可以组合出一个更大的数:
9913
所以不能这样做。
细想:如果组合出的数最大,那么得保证高位所能组合出的数最大。所以说,这里的局部最优等于全局最优。可以用贪心做。

具体的方法如下:
1、将两个数a, b所能组合出的数c, d进行比较。如果c > d,则a在前;否则,b在前。
2、按1法排序后,依次输出。
【程序】
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
struct node{char n[12];
}s[100];
bool numcmp(char a[], char b[])
{char c[25], d[25];memset(c, 0, sizeof(c));memset(d, 0, sizeof(d));strcpy(c, a);strcat(c, b);strcpy(d, b);strcat(d, a);return strcmp(c, d) >= 0 ? 1 : 0;
}
bool cmp(node a, node b)
{return numcmp(a.n, b.n);
}
int main()
{freopen("game.in", "r", stdin);freopen("game.out", "w", stdout);int n, i;scanf("%d", &n);for(i = 0; i < n; i++)scanf("%s", s[i].n);sort(s, s + n, cmp);for(i = 0; i < n; i++)printf("%s", s[i].n);return 0;
}

【模拟一】笨笨玩游戏相关推荐

  1. 考试题目“笨笨玩游戏”

    [题目描述] 一天,笨笨和妈妈玩游戏,妈妈 给笨笨出N个正整数,让笨笨把这N个正整数连接生成一个"大"的整数,每个正整数只使用一次,让笨笨告诉妈妈这样生成的大整数的最大值. 例如, ...

  2. 模拟考试9.3-笨笨连线游戏(route.cpp)

    [题目描述] 一天,妈妈在黑板上画了一个大大的圆,然后又在圆弧上标上1,2,3,...,,2N个数.然后让笨笨任意选取一对数(两个不同的数)上连一条直线.然后再任意选取一对数,再边一条直线,但这条直线 ...

  3. 笨笨工作室告别十月模拟赛

    笨笨工作室告别十月模拟赛 为了大家适应今年复赛电子版题目特意整理了一份电子版题目: /Files/hhdllhflower/笨笨工作室告别十月模拟赛.rar Chess Background 笨笨:& ...

  4. jquery开发的”天才笨笨碰“游戏

    前段时间湖南卫视的快乐大本营里有一款"天才笨笨碰"游戏非常火.这款游戏主要是考选手的声母联想词语的能力. 小篇在看完这个节目后用jquery制作了"天才笨笨碰" ...

  5. python编程手机模拟点击_python模拟点击玩游戏的实例讲解

    小编发现很多小伙伴都喜欢玩一些游戏,而手游因为玩的场景限制不多,所以受众的人更多.游戏里有很多重复的任务需要我们完成,虽然过程非常无聊,但是为了任务奖励还是有很多小伙伴不厌其烦的去做.那么,有没有什么 ...

  6. Bailian2939 玩游戏【模拟】

    2939:玩游戏 总时间限制: 1000ms 内存限制: 65536kB 描述 有三个小朋友一起玩游戏.游戏从一个起始整数 k 开始,第一个小朋友会说 plus, minus , multiply 三 ...

  7. Bailian2946 玩游戏【模拟】

    2946:玩游戏 总时间限制: 1000ms 内存限制: 65536kB 描述 有三个小朋友一起玩游戏.游戏从一个起始整数 k 开始,第一个小朋友会说 plus, minus , multiply 三 ...

  8. 用python写一个简单的网页游戏_python模拟点击玩游戏的实例讲解

    小编发现很多小伙伴都喜欢玩一些游戏,而手游因为玩的场景限制不多,所以受众的人更多.游戏里有很多重复的任务需要我们完成,虽然过程非常无聊,但是为了任务奖励还是有很多小伙伴不厌其烦的去做.那么,有没有什么 ...

  9. 洛谷 P1948 [USACO08JAN]电话线Telephone Lines【NOIP模拟笨笨的电话线】

    [二分,spfa chenck] 题目描述 Farmer John wants to set up a telephone line at his farm. Unfortunately, the p ...

最新文章

  1. matlab显示mat
  2. MyBatis知多少(10)应用程序数据库
  3. Spring boot定制错误数据携带出去
  4. 周鸿祎:在用户需求中找到真正的创新(强烈推荐)
  5. Ajax — 第三天
  6. iOS6新特征:UICollectionView介绍-非常棒 -转
  7. 计算机英语A卷答案,计算机专业英语试题及答案A卷.doc
  8. MySQL (9)---数据类型
  9. 【组合数学】组合恒等式 ( 八个组合恒等式回顾 | 组合恒等式 积 1 | 证明 | 使用场景 | 求组合数通用方法 )
  10. 【C++】结构体变量与结构体指针大小区别(Socket sendto函数)
  11. MP4Box获取MP4媒体文件的播放时长
  12. 如何更改Windows系统登陆界面
  13. php strpos注意问题坑,php小白容易出现的 strpos 逻辑错误
  14. mac如何彻底删除/卸载程序
  15. Materials Studio软件常见问题与解决方案(二)
  16. 【docker专栏5】详解docker镜像管理命令
  17. android开发打开第三方库,Android开发NDK调用三方so库
  18. 管理的常识(1):什么是管理
  19. 吉林大学珠海学院计算机网络专插本考试考哪些内容,【考试大纲】2020吉林大学珠海学院(美术设计)专插本考题考试全面解析(分享)...
  20. matlab第八章答案,MATLAB课件第八章线性代数基础

热门文章

  1. 【JAVAEE】文件操作——IO
  2. 在AI时代重新思考人机共生:理解人类在人机系统的最理想角色
  3. mysql使用函数批量插入数据
  4. FineReport(帆软)根据条件显示和隐藏列数据
  5. 朱新礼:我为什么要卖掉汇源
  6. Win11上Pytorch的安装并在Pycharm上调用PyTorch最新超详细过程并附详细的系统变量添加过程,可解决pycharm中pip不好使的问题
  7. 获取tranform参数函数的封装
  8. 【Linux】yum 包管理器 与 vim 编辑器
  9. 面向对象:封装性,继承性,多态性
  10. 巡风安装配置 -windows