【 HDU 1538 】A Puzzle for Pirates (海盗博弈论)
BUPT2017 wintertraining(15) #5D
HDU 1538
偷懒直接放个果壳的链接了,感觉比网上直接找这题的题解要更正确、易懂。
海盗博弈论
代码
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream>
using namespace std;
int t,n,m,p,a[10004],ans;
int main() {
	for(int i=2;i<=10000;i<<=1)a[i]=1;
	scanf("%d",&t);
	while(t--){
		scanf("%d%d%d",&n,&m,&p);
		int d=m-(n-1)/2;//贿赂后剩下的
		if(d>=0){
			if(p==n) ans=d;
			else ans=p%2==n%2;
		}else{//不剩
			if(!a[n-m*2]&&p==n)ans=-1;
			else{
				while(!a[n-m*2])n--;//第一个不会扔出去的
				if(p>n) ans=-1;
				else ans=0;//n号海盗有多种分金币的方案,没有人是确定能被分到贿赂的这1金币的
			}
		}
		if(ans==-1)puts("Thrown");
		else printf("%d\n",ans);
	}
	return 0;
}
【 HDU 1538 】A Puzzle for Pirates (海盗博弈论)的更多相关文章
- hdu 1538 A Puzzle for Pirates 博弈论
		很经典的问题,思路转载自http://blog.csdn.net/ACM_cxlove?viewmode=contents 题目:这是一个经典问题,有n个海盗,分m块金子,其中他们会按一定的顺序提出自 ... 
- HDU 1538
		http://acm.hdu.edu.cn/showproblem.php?pid=1538 经典经济学问题,海盗分金 分析http://www.guokr.com/article/41423/ #i ... 
- HDU.1847 Good Luck in CET-4 Everybody! ( 博弈论 SG分析)
		HDU.1847 Good Luck in CET-4 Everybody! ( 博弈论 SG分析) 题意分析 简单的SG分析 题意分析 简单的nim 博弈 博弈论快速入门 代码总览 //#inclu ... 
- 【HDU1538】A Puzzle for Pirates(经典的海盗问题)
		[题目] Description A bunch of pirates have gotten their hands on a hoard of gold pieces and wish to di ... 
- hdu 4662 MU Puzzle
		题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4662 MU Puzzle Time Limit: 2000/1000 MS (Java/Others) ... 
- HDU 3600 Simple Puzzle 归并排序 N*N数码问题
		先介绍八数码问题: 我们首先从经典的八数码问题入手,即对于八数码问题的任意一个排列是否有解?有解的条件是什么? 我在网上搜了半天,找到一个十分简洁的结论.八数码问题原始状态如下: 1 2 3 4 5 ... 
- HDU 4662 MU Puzzle:找规律
		题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4662 题意: 初始字符串为"MI". 有三个操作: (1)将'M'之后的所有字符翻 ... 
- HDU Ignatius's puzzle
		链接 [http://acm.hdu.edu.cn/showproblem.php?pid=1098] 分析: 数学归纳法 f(1) = 18 + ka; 假设f(x) = 5x^13+13x^5+k ... 
- HDU 4662 MU Puzzle 数论或者水题
		题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4662 题目是问目标串能否由MI得到,我们可以逆向思维,目标串能否反过来处理得到MI,所以,首先排除M ... 
随机推荐
- c++入门之const初步理解
			关于const,首先建立这样的一个认识:const并不是定义了一个常量,而是定义了在某种环境下只读的变量.下面我们来区分一些东西: ; const int*p = # *p = ; i ... 
- Python IO模型
			这篇博客是本人借鉴一些大神的博客并结合自己的学习过程写下的. 事件驱动模型 事件驱动模型是一种编程范式,这里程序的执行流由外部事件来决定.它的特点是包含一个事件循环,当外部事件发生时,不断从队列里取出 ... 
- MongoDB之修改器
			MongoDB之修改器 $set 简单粗暴 {name: valuel} 直接将key对应的值赋值给value. db.xxoo.insert({}, {set: {key: value}}) / ... 
- Django admin参数配置
			admin参数配置 一. admin 启动 admin: Django的后台数据管理的web版本 针对Food表,url: http://127.0.0.1:8000/admin/app02/food ... 
- #Leetcode# 633. Sum of Square Numbers
			https://leetcode.com/problems/sum-of-square-numbers/ Given a non-negative integer c, your task is to ... 
- 在tomcat8.0.x和tomcat9.0.x之间么突然冒出个tomcat 8.5
			Apache Tomcat 8 (8.5.38) - Documentation Indexhttps://tomcat.apache.org/tomcat-8.5-doc/index.html to ... 
- MySQL数据库性能优化思路与解决方法(一转)
			1.选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越 小,在它上面执行的查询也就会越快.因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设 ... 
- mysql异常:Packet for query is too large (10240 > 1024). You can change this value
			出现这个问题的原因是:mysql的配置文件中 max_allowed_packet 设置过小,mysql根据配置文件会限制server接受的数据包大小. 还有人会说我操作的数据量明显没有超过这个值为啥 ... 
- [转帖]Docker 清理占用的磁盘空间
			Docker(二十七)-Docker 清理占用的磁盘空间 https://www.cnblogs.com/zhuochong/p/10076599.html docker system docker ... 
- PL/SQL编程--变量声明及赋值
			declare v_price ,);--单价 v_usenum number;--水费字数 v_usenum2 number;--使用吨数 begin v_price:=2.45;--每吨单价 v_ ... 
