cdoj 1253 阿里巴巴和n个大盗 博弈论
阿里巴巴和n个大盗
Time Limit: 20 Sec
Memory Limit: 256 MB
题目连接
http://acm.uestc.edu.cn/#/problem/show/1253
Description
阿里巴巴和n个大盗来到了一个藏满宝石的洞穴。洞里一共有m颗价值连城的宝石,每一颗都等价。盗亦有道,为了奖励帮忙打开洞穴门的阿里巴巴,大盗们决定让他一起加入分赃。大盗们决定采用一种方式分赃,分赃的方式如下:
1)每个人由抽签决定了自己的号码(1, 2, 3, ⋯, 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≤n≤2⋅m−2, 2≤m≤100)。
Output
如果阿里巴巴能活下来输出一个整数x表示阿里巴巴最多获得的宝石数,否则输出−1。
Sample Input
4 100
Sample Output
97
HINT
题意
题解:
首先总人数是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>
#include <cstdio> using namespace std; int n,m,ans; int main()
{
scanf("%d%d",&n,&m);
n++;
if(n>)
{
ans=m-(n+)/;
}
else
{
if(n==) ans=-;
if(n==) ans=m;
}
printf("%d\n",ans);
return ;
}
cdoj 1253 阿里巴巴和n个大盗 博弈论的更多相关文章
- Chessboard(规律)&&阿里巴巴和n个大盗(规律)
Chessboard Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- UESTC--1253--阿里巴巴和n个大盗 (博弈)
阿里巴巴和n个大盗 Time Limit: 1000MS Memory Limit: 65535KB 64bit IO Format: %lld & %llu Submit St ...
- 科技巨头们以 "A" 取名的时尚潮流
科技巨头们以 "A" 取名的时尚潮流 from 公众号 WebHub 世界上有许多巨头公司喜欢以字母 a 打头作公司起名.改名,这主要是因为电话薄是以字母排序的(外国人习惯家里 ...
- IT人生知识分享:博弈论的理性思维
背景: 昨天看了<最强大脑>,由于节目比较有争议性,不知为什么,作为一名感性的人,就想试一下如果自己理性分析会是怎样的呢? 过程是这样的: 中国队(3人)VS英国队(4人). 1:李建东( ...
- [poj2348]Euclid's Game(博弈论+gcd)
Euclid's Game Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9033 Accepted: 3695 Des ...
- 博弈论揭示了深度学习的未来(译自:Game Theory Reveals the Future of Deep Learning)
Game Theory Reveals the Future of Deep Learning Carlos E. Perez Deep Learning Patterns, Methodology ...
- TYVJ博弈论
一些比较水的博弈论...(为什么都没有用到那什么SG呢....) TYVJ 1140 飘飘乎居士拯救MM 题解: 歌德巴赫猜想 #include <cmath> #include < ...
- cdoj 1489 老司机采花
地址:http://acm.uestc.edu.cn/#/problem/show/1489 题目: 老司机采花 Time Limit: 3000/1000MS (Java/Others) M ...
- Codeforces 549C. The Game Of Parity[博弈论]
C. The Game Of Parity time limit per test 1 second memory limit per test 256 megabytes input standar ...
随机推荐
- AWK print学习
Awk是一种处理结构数据并输出格式化结果的编程语言, Awk 是其作者 "Aho,Weinberger,Kernighan" 的简称. Awk通常被用来进行格式扫描和处理.通过扫描 ...
- 安装服务Memcached+Nginx+Php linux下安装
Memcached安装 1. 源码安装libevent(下载地址:http://monkey.org/~provos/libevent/) 2. 源码安装memcached(下载地 ...
- 【转】win7(windows7)下java环境变量配置方法
原文网址:http://jingyan.baidu.com/article/925f8cb836b26ac0dde0569e.html win7(windows7)下java环境变量配置方法,java ...
- 【转】traits技术及模板偏特化
#include <iostream> using namespace std; struct __xtrue_type { }; // define two mark-type stru ...
- 【转】堆栈跟踪中收到一个UnhandledExceptionFilter调用时,如何查找问题异常堆栈
定义没有异常处理程序来处理引发的异常时调用UnhandledExceptionFilter函数.函数通常将异常传递到捕获并处理它所尝试的 Ntdll.dll 文件. 在某些情况下,在其中存在的进程内存 ...
- [译]LINT TO SQL 介绍(数据库查询) - Part.3
出处:Linq To Sql (Part.3 – Querying our database) 术语表 Built-in:内置的 Clause:子句 Debugger:调试器 Object Relat ...
- WebView介绍
本文主要对WebView进行介绍,包括webView 4个可以定制的点.设置WebView back键响应.控制网页的链接仍在webView中跳转.显示页面加载进度.处理https请求.利用addJa ...
- Filezilla 多目录的访问设置
[转:http://hi.baidu.com/yangjie312/blog/item/125a8405423d896d03088171.html] 设置好主目录之后,点击“Add”按钮可以把其余的目 ...
- 修改Android手机的“虚拟机堆大小”和android:largeHeap来防止APP内存溢出问题
使用“RAM Manager”修改“虚拟机堆大小”为某一个阀值 xxMB大小 修改 AndroidManifest.xml 里的 Application 标签的属性 android:largeHeap ...
- SOA和NS区别
SOA是起始权威服务器,在该服务器上可以新增和删除记录; NS服务器是笔试哪些DNS服务器可以解析该域名; 对于一个域(如baidu.com)SOA只有一个NS可以有多个. NS服务器包含SOA,SO ...