海盗

海盗与金币

醉酒当歌 提交于 2020-02-01 14:44:54
海盗与金币 JAVA大学C组 12名海盗在一个小岛上发现了大量的金币,后统计一共有将近5万枚。 登上小岛是在夜里,天气又不好。由于各种原因,有的海盗偷拿了很多,有的拿了很少。 后来为了“均贫富”,头目提出一个很奇怪的方案: 每名海盗都把自己拿到的金币放在桌上。然后开始一个游戏。 金币最多的海盗要拿出自己的金币来补偿其他人。 补偿的额度为正好使被补偿人的金币数目翻番(即变为原来的2倍)。 游戏要一直进行下去,直到无法完成。 (当金币数最多的不只一个人或最多金币的人持有金币数不够补偿他人的) 游戏就这样紧张地进行了,一直进行了12轮,恰好每人都“放血”一次, 更离奇的是,刚好在第12轮后,每个人的金币数居然都相等了!! 这难道是天意吗? 请你计算,游戏开始前,所有海盗的初始金币数目,从小到大排列,中间有一个空格分开。 答案形如: 13 25 49 97 193 385 769 1537 3073 6145 12289 24577 当然,这个就是(正确答案)!!!划重点 要考的~ 注意: 需要提交的是一行空格分开的整数,不要提交任何多余的内容。 分隔符要用一个西文的空格,不要用其它符号(比如逗号,中文符号等) 下面是我得JAVA解法,欢迎指正!! 在这里插入代码片 public static void main(String[] args) { // 12名海盗 int[] cold =

海盗分赃

不羁的心 提交于 2019-12-10 06:06:50
题目描述 P 个海盗偷了 D 颗钻石后来到公海分赃,一致同意如下分赃策略: 首先,P 个海盗通过抽签决定 1 - P 的序号。然后由第 1 号海盗提出一个分配方案(方案应给出每个海盗分得的具体数量),如果能够得到包括 1 号在内的绝对多数(即大于半数)同意,则按照该分配方案执行,否则 1 号将被投入大海喂鲨鱼;而后依次类似地由第 2 号、第 3 号等等海盗提出方案,直到能够获得绝对多数同意的方案出现为止,或者只剩下最后一位海盗,其独占所有钻石。请编写一个程序,给出第 1 号海盗的钻石分配方案中自己分得的钻石数量。 附带的三个假定: “聪明”与“贪婪”假定:每个海盗总能够以本人利益最大化作为行为准则; “人性化”假定:在能够取得尽量多钻石的情况下,海盗不会故意致同伙于死地; “无偏见”假定:海盗之间没有个人恩怨,分给其他海盗钻石的次序以小序号优先为原则。 输入格式: 输入在一行中给出 2 个正整数 D 和 P(3≤P≤D≤100)。 输出格式: 输出第 1 号海盗的钻石分配方案中自己分得的钻石数量。 输入样例: 10 7 输出样例: 6 题目解析 这题跟数组有啥关系(小声逼逼),是道思维题吧,感觉挺有意思的,但是我做成找规律的题了,下面是分析过程。 首先最难的就是读懂题意,题意得意思简单来说就是 海盗们都很聪明 要活命也要得到钻石 但是当两者冲突时 他要在保命的同时获得更多的钻石

【精选】博弈论第一弹

拟墨画扇 提交于 2019-11-26 14:06:57
博弈论又被称为对策论(Game Theory),既是现代数学的一个新分支,也是运筹学的一个重要学科。学习博弈论,可以指导我们这个充满竞争的世界中,我们要怎么做才能让自己(或者自己的集体)利益最大化。 (摘自:百度百科) 博弈时往往有三种结果:负和博弈、零和博弈与正和博弈,用通俗的话解释就是两败俱伤、一方获利一方亏损和双赢。正和博弈当然是最好的结果,但是往往无法达成。 博弈论有很多的种类,我们介绍其中的几种。 一. 囚徒博弈论——为何走向穷途末路? 有一个广为流传的故事:两个罪犯甲、乙入室盗窃并将屋子的主人杀害,被捕后分别审讯,他们都只承认盗窃罪,不承认故意杀人罪,这样他们都会被判处1年有期徒刑。这似乎对他们来说是最好的情况,但是后来他们却纷纷承认故意杀人罪,为什么呢? 原因很简单:他们是分开审讯的。 假设盗窃罪判刑1年,故意杀人罪判刑8年,被别人揭穿会加刑1年,坦白减刑2年,那么就可以绘制一个简易的博弈论模型: 图真是太不美了(●—●) 明明可以少坐6年牢,为什么要招供呢?不妨从甲和乙的角度来考虑:由于不知道对方的消息,甲会认为,我不知道能不能相信乙,万一他先招供了,我就会坐10年的牢,为了不引起最坏的后果,还能够释放,我必须先招认!同样的,乙的想法和甲类似,再加上警察煽风点火,于是便纷纷招供,最后的结果是两人一起坐7年的牢。 这就呈现了所谓博弈论中的“纳什均衡”