思路:

将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 博弈论的更多相关文章

  1. HDU 5512 Meeting 博弈论

    Meeting Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5512 ...

  2. hdu 4678 Mine 博弈论

    这是一题简单的博弈论!! 所有的空白+边界的数字(个数为n)为一堆,容易推出其SG函数值为n%2+1: 其他所有的数字(个数为m)的SG值为m%2. 再就是用dfs将空白部分搜一下即可!(注意细节) ...

  3. hdu 4664 Triangulation 博弈论

    看到这题时,当时还不会做,也没搞懂sg函数,于是狠狠的钻研了下博弈论,渐渐的知道了sg函数…… 现在在来做这题就很容易了,1A 打表容易发现在80左右的时候就出现循环节了 代码如下: #include ...

  4. hdu 4023 2011上海赛区网络赛C 贪心+模拟

    以为是贪心,结果不是,2333 贪心最后对自己绝对有利的情况 点我 #include<cstdio> #include<iostream> #include<algori ...

  5. HDU 4023 (博弈 贪心 模拟) Game

    如果硬要说这算是博弈题目的话,那这个博弈是不公平博弈(partizan games),因为双方面对同一个局面做出来的决策是不一样的. 我们平时做的博弈都是公平博弈(impartial games),所 ...

  6. hdu 4701 Game 博弈论

    思路: ▶ 设 win(i,x,y) 表示当前可以买的物品是 i,先手有 x 元,后 手有 y 元时,先手是否必胜 ▶ win(i,x,y) ⇐⇒∃j((j > i)∧(x ≥ si−sj)∧¬ ...

  7. hdu 3389 Game 博弈论

    思路: 其本质为阶梯博弈; 阶梯博弈:博弈在一列阶梯上进行,每个阶梯上放着自然数个点,两个人进行阶梯博弈...     每一步则是将一个集体上的若干个点( >=1 )移到前面去,最后没有点可以移 ...

  8. 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 ...

  9. HDU.1536.S-Nim(博弈论 Nim)

    题目链接 \(Description\) 给定一个集合S,每次只能拿S中某个元素个数的石子.每组数据有多组询问,询问给出m堆石子个数,问先手是否必胜.有多组数据. 1. 首先对操作数组排个序,再预处理 ...

随机推荐

  1. Actionform

    Actionform 2013年7月8日 15:08 Reset 用actionform是把数据恢复到初始状态 Getter/setter Validate 验证 已使用 Microsoft OneN ...

  2. CAD字体显示错乱问题解决方案

    最近这两天一直在画竣工图,用CAD用得挺多的,所以老是发现一些问题.今天在打开别人发过来的图纸时,我看到竟然还有钢筋符号无法显示…… 像这种问题的解决,据我所知就两种方法: 一.替换使用的字体 首先选 ...

  3. 项目中添加Log4J支持

    首先,在项目中的classes 中新建立一个log4j.properties文件即可: 在实际编程时,要使Log4j真正在系统中运行事先还要对配置文件进行定义.定义步骤就是对Logger.Append ...

  4. Notes of the scrum meeting(11/2)

    meeting time:13:00~13:30p.m.,November 2nd,2013 meeting place:3号公寓楼一层 attendees: 顾育豪                  ...

  5. iTween

    http://u3d.as/content/pixelplacement/i-tween/1s9 download http://itween.pixelplacement.com/documenta ...

  6. php file_put_contents() 写入回车

    PHP file_put_contents() 函数是一次性向文件写入字符串或追加字符串内容的最合适选择. file_put_contents() file_put_contents() 函数用于把字 ...

  7. 用Keytool和OpenSSL生成和签发数字证书

    一)keytool生成私钥文件(.key)和签名请求文件(.csr),openssl签发数字证书      J2SDK在目录%JAVA_HOME%/bin提供了密钥库管理工具Keytool,用于管理密 ...

  8. 新装Centos常见问题及解决方案

    1.可以ping通,但无法通过ssh连接虚拟机的解决方案 虚拟机上装了一个 Linux 玩玩, 但在启动 Linux 后,在 Windows 中通过 Xshell 以 SSH 方式连接到 Linux ...

  9. 15、android 用toast实现简单的进度显示

    if(mtoast!=null) { mtoast.setText(progress); } else { mtoast=Toast.makeText(getApplicationContext(), ...

  10. 剑指offer--13题

    #include "stdafx.h" #include <iostream> using namespace std; void FirstNoRepeatCh(co ...