hdu 4023 Game 博弈论
思路:
将15种分成5类:
1.1和2为一类;
2.3,4,5,6为一类;
3.7,8,9,10为一类;
4.11,12,13,14,15为一类;
5.15为一类。
比较各类的优先级,就会发现放置的顺序为5->2->4->3->1.
代码如下:
#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<iomanip>
#include<cmath>
#include<cstring>
#include<vector>
#define ll __int64
#define pi acos(-1.0)
#define MAX 50000
using namespace std;
int p[];
int fun1(int n)
{
if(n&) return n-;
return n;
}
int fun2(int n)
{
if(n&) return n+;
return n;
}
int main(){
int t,a,b,k,i,j,ca=,ans;
scanf("%d",&t);
while(t--){
a=b=;
int num1,num2,num34,num56,num78,num910,num11_14,num15;
bool flag=;
for(i=;i<=;i++)
scanf("%d",&p[i]);
if(p[]>p[]) num1=p[]-p[],num2=;
else num2=p[]-p[],num1=;
if(p[]+p[]>p[]+p[]) num34=p[]+p[]-p[]-p[],num56=;
else num56=p[]+p[]-p[]-p[],num34=;
if(p[]+p[]>p[]+p[]) num78=p[]+p[]-p[]-p[],num910=;
else num910=p[]+p[]-p[]-p[],num78=;
num11_14=p[]+p[]+p[]+p[];
num15=p[];
if(p[]&){
a+=;
flag=;
}
if(num34){
if(flag){
a+=num34/;
b+=fun2(num34);
if(num34&) flag=;
}
else{
a+=(num34+)/;
b+=fun1(num34);
if(num34&) flag=;
}
}
else{
if(flag){
b+=(num56+)/;
a+=fun1(num56);
if(num56&) flag=;
}
else{
a+=fun2(num56);
b+=num56/;
if(num56&) flag=;
}
}
if(num11_14&){
if(flag) b++;
else a++;
flag=!flag;
}
if(num78){
if(flag){//B
b+=(num78+)/;
a+=num78;
if(num78&) flag=;
}
else{//A
a+=num78;
b+=num78/;
if(num78&) flag=;
}
}
else{
if(!flag){ //A
a+=(num910+)/;
b+=num910;
if(num910&) flag=;
}
else{//B
b+=num910;
a+=num910/;
if(num910&) flag=;
}
}
a+=num1*;
b+=num2*;
printf("Case #%d: ",++ca);
puts(a>b?"Alice":"Bob");
}
return ;
}
hdu 4023 Game 博弈论的更多相关文章
- HDU 5512 Meeting 博弈论
Meeting Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5512 ...
- hdu 4678 Mine 博弈论
这是一题简单的博弈论!! 所有的空白+边界的数字(个数为n)为一堆,容易推出其SG函数值为n%2+1: 其他所有的数字(个数为m)的SG值为m%2. 再就是用dfs将空白部分搜一下即可!(注意细节) ...
- hdu 4664 Triangulation 博弈论
看到这题时,当时还不会做,也没搞懂sg函数,于是狠狠的钻研了下博弈论,渐渐的知道了sg函数…… 现在在来做这题就很容易了,1A 打表容易发现在80左右的时候就出现循环节了 代码如下: #include ...
- hdu 4023 2011上海赛区网络赛C 贪心+模拟
以为是贪心,结果不是,2333 贪心最后对自己绝对有利的情况 点我 #include<cstdio> #include<iostream> #include<algori ...
- HDU 4023 (博弈 贪心 模拟) Game
如果硬要说这算是博弈题目的话,那这个博弈是不公平博弈(partizan games),因为双方面对同一个局面做出来的决策是不一样的. 我们平时做的博弈都是公平博弈(impartial games),所 ...
- hdu 4701 Game 博弈论
思路: ▶ 设 win(i,x,y) 表示当前可以买的物品是 i,先手有 x 元,后 手有 y 元时,先手是否必胜 ▶ win(i,x,y) ⇐⇒∃j((j > i)∧(x ≥ si−sj)∧¬ ...
- hdu 3389 Game 博弈论
思路: 其本质为阶梯博弈; 阶梯博弈:博弈在一列阶梯上进行,每个阶梯上放着自然数个点,两个人进行阶梯博弈... 每一步则是将一个集体上的若干个点( >=1 )移到前面去,最后没有点可以移 ...
- Game HDU - 3389 (博弈论)
Bob and Alice are playing a new game. There are n boxes which have been numbered from 1 to n. Each b ...
- HDU.1536.S-Nim(博弈论 Nim)
题目链接 \(Description\) 给定一个集合S,每次只能拿S中某个元素个数的石子.每组数据有多组询问,询问给出m堆石子个数,问先手是否必胜.有多组数据. 1. 首先对操作数组排个序,再预处理 ...
随机推荐
- 简述afinal 框架的基本用法
本文只是对afinal做简单的描述,基本和git上给的文档一样,大神绕道! FinalDB模块本文为涉及到 FinalActivity模块,FinalHttp模块,FinalBitmap模块 代码体 ...
- iOS学习之C语言循环结构
一.while循环 while (循环条件) { 循环体: } // 1.定义循环变量 int time = 1; // 2.循环条件 while ( ...
- C# DateTime详解
//今天DateTime.Now.Date.ToShortDateString();//昨天,就是今天的日期减一DateTime.Now.AddDays(-1).ToShortDateString() ...
- Xcode真机调试错误之"Please valify your...clock not set"
乍一看错误信息是证书过期,其实是描述证书错乱了. Xcode->Preferences->Account 将选中其中一个描述文件 show in finder,将里面的全都删除.
- extension 的一个应用 - 优化图片的读取机制
枚举和 extension 都是 swift 中非常好用的特性.这里我们就来讨论一个应用的例子,供大家参考. 我们在开发 app 的时候,都会用到各种图片资源,而我们读取图片资源时主要是通过UIIma ...
- 关于使用,NI采集卡+labview信号采集,问题交流【第二贴】
*** 采集卡 NI PCI-6534: max sample rate 20MHz:32位的数字输入,数字输出. ***输入信号: 峰峰值,4.16V 最小值 -80mV 频率 ...
- Teamwork-Week2真对必应词典和有道词典的软件分析和用户需求调查(桌面版)
经调查,现在有道词典在该领域拥有很大程度的市场占有率,所以我们将有道词典与必应词典进行对比. 核心功能一:单词本 有道词典中的单词本都只能是由用户手动添加不会的单词,而必应词典中的单词 不仅可以被自己 ...
- mui开发webapp(2)
前端开发APP,从HBuilder开始~ 序 通过 HTML5 开发移动App 时,会发现HTML5 很多能力不具备.为弥补HTML5 能力的不足,在W3C 中国的指导下成立了www.HTML5Plu ...
- 15、android 用toast实现简单的进度显示
if(mtoast!=null) { mtoast.setText(progress); } else { mtoast=Toast.makeText(getApplicationContext(), ...
- websphere OSGi应用环境下服务调用saaj包加载问题分析报告
websphere OSGi应用环境下服务调用saaj包加载问题分析报告 作者:bingjava 版权声明:本文为博主原创文章,转载请说明出处:http://www.cnblogs.com/bingj ...