查看: 2134|回复: 10
收起左侧

[其他] 编程,这个是什么题目?根本看不懂!!

[复制链接]
恋爱的夏娜
头像被屏蔽
发表于 2013-4-11 17:44:56 | 显示全部楼层 |阅读模式
求解一个“交互问题”

有一个n 级台阶的楼梯上,每级台阶都可以站立若干士兵。

假设你是指挥官,则要求你将所有的士兵分为两组,然后敌方会将其中的一组士兵消灭,给你留下一组士兵,接着留下的士兵可以再上一级台阶。指挥官将剩下的士兵再次分为两组,重复以上过程。

结果是:如果最后有一个士兵登上了最高台阶,那么你就胜利了。如果士兵全部被消灭了而没有任何一个士兵登顶,则意味着你失败了。

输入为台阶数 n,每一个台阶上的士兵数和留下的组别标志(1 组和2 组)。显然输入时第n 个台阶上的士兵为0,否则该题目失去意义(除非你将其作为特例处理,即所谓的边界条件。大多数情况下我们需要给出程序的约束条件使其具有实际意义)。

       Andmore:如何用最小的代价获取胜利,也就是说有 m 个士兵,当有士兵已经登顶时,希望登顶的士兵或该组登顶后剩下的士兵人数最多。


给出你的设计思路和不少于 7 组的数据(n>10, m 在10~1000 之间)进行测试,对测试结果进行评估,给出程序是否有改进的结论。



Tips(referenceonly):

可从敌方的角度考虑问题。假设第 n‐1 级台阶上有 1 个士兵,而另一组士兵 100 人在第 n‐2 层上,显然敌方会将 n‐1 级台阶上的那一组士兵杀掉。因为不杀n‐1 层上的士兵将意味着下一轮这个士兵将登上n 级台阶了。显然不能用士兵人数的多少作为其“价值”的判断依据:站得越高(越接近第 n级台阶)则危险性越大。

程序需要的数据如下: 台阶数 n(从 1开始)

数组 w,w为第 i 级台阶上的士兵的价值(假设 w=2w[i‐1],即第 i 级台阶上的士兵是第 i‐1级台阶上士兵价值的 2 倍)

数组 b,为每个台阶上的士兵数序列

数组 f,士兵 i 登台阶的标志(1(True)/0(False))

数组 a,士兵 i 的组号为 a

变量 m,士兵总数,输入每个台阶上的士兵数并累计得到


程序流程:

1、  初始化

2、  通过适当的分组争取获胜

PS:不是我提的,是擅自代替馒头卡发的,而且,茶舍找一篇帖子的难度好大。。。
100lj
发表于 2013-4-12 06:08:54 | 显示全部楼层
本帖最后由 100lj 于 2013-4-12 06:12 编辑

两组必须站不同的台阶?
如果是同一台阶可站两组人的话,当n>10时,假设n=11,2的10次方,至少得1024个人。
恋爱的夏娜
头像被屏蔽
 楼主| 发表于 2013-4-12 08:14:23 | 显示全部楼层
100lj 发表于 2013-4-12 06:08
两组必须站不同的台阶?
如果是同一台阶可站两组人的话,当n>10时,假设n=11,2的10次方,至少得1024个人。 ...

你问我我也不清楚= =
问问馒头卡吧。。。
100lj
发表于 2013-4-12 08:17:05 | 显示全部楼层
恋爱的夏娜 发表于 2013-4-12 08:14
你问我我也不清楚= =
问问馒头卡吧。。。

馒头卡是谁啊?
恋爱的夏娜
头像被屏蔽
 楼主| 发表于 2013-4-12 08:17:46 | 显示全部楼层
100lj 发表于 2013-4-12 08:17
馒头卡是谁啊?

解答区另一位版主。
loms126
发表于 2013-4-12 08:32:30 | 显示全部楼层
100lj 发表于 2013-4-12 08:17
馒头卡是谁啊?

馒头卡发的原帖如下:

http://bbs.kafan.cn/thread-1543315-1-1.html
100lj
发表于 2013-4-12 08:35:57 | 显示全部楼层
loms126 发表于 2013-4-12 08:32
馒头卡发的原帖如下:

http://bbs.kafan.cn/thread-1543315-1-1.html

看了下,更糊涂了。算了,还是等你这样的高手来解吧。
loms126
发表于 2013-4-12 08:46:48 | 显示全部楼层
100lj 发表于 2013-4-12 08:35
看了下,更糊涂了。算了,还是等你这样的高手来解吧。

看见后一句话我想纯表了。。

题目本身有些模糊,恐怕只有出题人自己能理解了。peng昨天说要拿专业的数学规划软件做,等等看今天他有没有结果。
jasonliul
头像被屏蔽
发表于 2013-4-12 16:41:22 | 显示全部楼层
提示: 该帖被管理员或版主屏蔽
thelord
发表于 2013-4-13 11:26:24 | 显示全部楼层
给的例子太少,搞的题意难以理解啊

看唯一的那个例子,题意纠结在这(不考虑 more):
不同组的士兵能否在同一台阶?
1. 能:开始就把两组都放在 n-1,则攻方必赢
2. 不能:守方又是必赢,只要优先删除 n-1 所属的那一组就行了
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-5-13 22:35 , Processed in 0.143507 second(s), 16 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表