UESTC 1253 阿里巴巴和n个大盗(博弈)
思路:一个很经典的博弈问题,转自大神的题解
首先总人数是n+1人。
由于必须半数以上人同意才能通过方案,所以当剩余两个人时2号必死,因为1号不同意就能独吞。因此2号必须同意3号的方案,所以3号无论什么方案都会被通过,因此他会选择把所有宝石留给自己。
当总人数三个以上时就有以下的情况:显然4号需要至少3人的同意,可知3号是无论如何不会同意的,因此他只需要拉拢1,2号即可,也就是给他们1,1的宝石。
5个人时只要3个人同意即可,此时因为5号如果死3号必定不会得到宝石,所以只要给他1个宝石即可。然后再拉拢1,2号中的任意一个,给他们2个宝石即可。
以此类推,发现当(n+1)是偶数时阿里巴巴只要给1到n号人1,1,0,1,0,1,0....即可;当(n+1)是奇数时只要给x,x,1,x,1,x,1....(任意一个x是2,其余x都是0)即可。上述两种情况答案都是m-(n+1)/2。
因为题目所给数据范围的限制,本题不会出现m不够用的情况,在这里不再讨论。
注意心狠手辣一词。
另外补充的是也要注意题目中的 尽量确保自身利益不寄希望与别人给自己更大利益。
#include<iostream>
using namespace std;
int main()
{int n;int m;while (cin >> n >> m){if (n == 1)cout << -1 << endl;else if (n == 2)cout << m << endl;else if (n >= 3){n++;cout << m - (n + 1) / 2 << endl;}}
}
Description
阿里巴巴和$n$个大盗来到了一个藏满宝石的洞穴。洞里一共有$m$颗价值连城的宝石,每一颗都等价。盗亦有道,为了奖励帮忙打开洞穴门的阿里巴巴,大盗们决定让他一起加入分赃。大盗们决定采用一种方式分赃,分赃的方式如下:
1)每个人由抽签决定了自己的号码($1$, $2$, $3$, $\cdots$, $n+1$)。
2)由$n+1$号提出分配方案,然后大家表决,当且仅当超过半数的人同意时(包括他自己),按照他的方案进行分配,否则这个人将被杀死。
3)$n+1$号死后,由$n$号接替$n+1$号对剩下的人提出分配方案,类似$2$步骤。以此类推。
大盗们都有如下的几个性格特点
1)足智多谋,总是采取最优策略。
2)贪生怕死,尽量保全自己性命。
3)贪得无厌,希望自己得到越多宝石越好
4)心狠手辣,在自己利益最大的情况想希望越多人死越好。
5)疑心多虑,不信任彼此,尽量确保自身利益不寄希望与别人给自己更大利益。
不知道是不幸还是幸运,阿里巴巴抽到了$n+1$号签,意味着他将第一个提出分配方案。他想请教机智的你,他能否活下来,如果能又将获得最多多少个宝石?
Input
两个整数$n$, $m$,分别表示$n$个大盗和$m$个宝石($1 \leq n \leq 2 \cdot m-2$, $2 \leq m \leq 100$)。
Output
如果阿里巴巴能活下来输出一个整数$x$表示阿里巴巴最多获得的宝石数,否则输出$-1$。
Sample Input
4 100
Sample Output
97
Hint
分配方案 0 2 1 0 97 或2 0 1 0 97(从$1$号到$5$号)。
UESTC 1253 阿里巴巴和n个大盗(博弈)相关推荐
- 智能优化算法-阿里巴巴和四十大盗算法Ali baba and the Forty Thieves algorithm(附Matlab代码)
引言 阿里巴巴和四十大盗算法Ali baba and the Forty Thieves algorithm是一种新的元启发式算法,用于解决全局优化问题.回想一下著名的阿里巴巴和四十大盗的故事,阿里巴 ...
- 阿里巴巴和四十大盗(背包问题)
问题描述: 阿里巴巴闯进了四十大盗的宝藏山洞,山东一共有n种宝物,每种宝物有一定的重量w和相应的价值v,毛驴只能运走m重量的宝物,一种宝物只能拿一样,宝物可以分割,怎样才使价值最大呢? 问题分析: 要 ...
- 阿里巴巴和四十大盗的故事
很久以前,在波斯国的某城市里住着兄弟俩,哥哥叫戈西母,弟弟叫阿里巴巴.父亲去世后,他俩各自分得了有限的一点财产,分家自立,各谋生路.不久银财便花光了,生活日益艰难.为了解决吃穿,糊口度日,兄弟俩不得不 ...
- 阿里巴巴四十大盗计算机病毒,阿里巴巴和四十大盗
阿里巴巴心里这样想着,决心探个究竟. 匪徒们在树下拴好马,取下沉甸甸的鞍袋,里面显然装着金银珠宝. 这时,一个首领模样的人背负沉重的鞍袋,从丛林中一直来到那个大石头跟前,喃喃地说道:"芝麻, ...
- 这份程序员的简历刷爆了九月的朋友圈
今年五一期间,一份简历刷爆了很多人的朋友圈.我们有幸联系到了这份简历的主人公,邀请他来将自己在编程领域从事了20年的工作心得分享给大家,希望你看完后能有所收获. 我是一个从事编程工作20年的程序员.从 ...
- 推荐系统的封闭和禁锢问题
参考:推荐系统的十个关键点_wishchinYang的专栏-CSDN博客_推荐系统项目技术点. 推荐系统的第一-冷启动问题,类似于一个小白第一本书是读到基督教的书,第一页写着人是上帝那玩意的羔羊,能被 ...
- 【渝粤题库】陕西师范大学210002儿童文学 作业(高起专、高起本、专升本)
<儿童文学>作业 单选题 1.构成作品音响效果的因素是象声词.韵律和( ). 2.幼儿文学作品用词的总要求是:具体.浅显.充分发挥( )作用 3.在儿童文学创作艺术手法的运用中应注意心理描 ...
- 区块链中的密码学(五)-零知识证明简述
本篇是这个系列的最后一篇,尽管在区块链中还有很多的密码学应用,将来会必然会更多,然而笔者认为,就今天我们有限的学习时间来讲的话,任何人都应该对信息的获取做减法.思来想去,选择了"零知识证明& ...
- 如何让debuge的dll名字改变_杨石头:如何给品牌取个好名字?
一个好的品牌名称,不是一个简单的记号.它能强化定位,参与竞争,而且还以其可能隐含的形象价值使某一品牌获得持久的市场优势. 在1920 年时 "可口可乐"刚刚进入上海,最开始音译过来 ...
最新文章
- 【FFmpeg】自定义回调函数处理AVIOContext中的数据
- 套接字编程(VC_Win32)
- sklearn输出模型参数_如何使用sklearn优雅地进行数据挖掘?
- K8S部署工具:KubeOperator系统设置
- 17种常用的JS正则表达式 非负浮点数 非负正数
- ORA-01830:日期格式图片在转换整个输入字符之前结束
- gps频率范围_以GPS为例讲解射频接收阻抗匹配的过程
- 我有一个朋友毕业后一直在腾讯
- linux固定dns怎么设置,Linux之如何进行固定IP、DNS等设置
- ssh mysql视屏_ssh+mysql实现的Java web在线订电影票系统项目源码附带视频指导教程...
- 阿里云推出香港高防IP服务 为中国企业出海安全护航
- 酷狗php 技术题目,广州酷狗php面试题(赋答案)
- 2022百度之星第一场初赛
- 下载离线地图数据并搭建离线地图开发环境(一套代码支持谷歌、百度、高德等所有地图源)
- 黑人抬棺html网站源码
- MRR(Mean Reciprocal Rank)笔记
- c语言编程中的逗号与结果,C++编程中逗号运算符和条件运算符的使用方法讲解...
- 黑客测试漏洞被逮捕 白帽的正确姿势是什么
- An Efficient Joint Training Framework for Robust Small-Footprint Keyword Spotting(2020)
- LDdecay计算和做图