d为1代表Alice执刀,-1代表Bob执刀
记录蛋糕数字为奇数和偶数各自的数量,先看偶数块

如果为偶数的蛋糕为奇数块,则为偶数的蛋糕切完后是Bob持刀,Alice会多吃1,此时要将奇数块蛋糕-1(假设此时有为奇数的蛋糕,如果没有根据题意依然是Alice赢)

如果为奇数的蛋糕为奇数块,两人每次切时对方都会多1,,中和后即对2取余,若取余结果为0说明两人在这一部分吃的一样多,否则Alice会多持刀一次,Bob会多吃1

最后,如果Bob吃得多,Bob赢,反之(包括平局),Alice赢
且若有蛋糕数字为1时,这是“不能切的蛋糕”,不算入计数

#include<stdio.h>
int main(){
int T,t,n,i,d,d0,d1,s;
while(scanf("%d",&T)!=EOF)
for(t=;t<T;t++){
scanf("%d",&n);
s=d0=d1=;
for(i=;i<n;i++){
scanf("%d",&d);
if(d==)
continue;
if(d%)
d1++;
else
d0++;
}
if(d0%&&d0>)//如果为偶数的蛋糕为奇数块,Alice会吃得多
d1--,s++;
if(d1%&&d1>)//如果为奇数的蛋糕为奇数块,Bob会吃得多
s--;
if(s<)
printf("Bob\n");
else
printf("Alice\n");
} return ;
}

ZJNU 2226 - B.T.B.F的更多相关文章

  1. Mysql_以案例为基准之查询

    查询数据操作

  2. [POJ] 2226 Muddy Fields(二分图最小点覆盖)

    题目地址:http://poj.org/problem?id=2226 二分图的题目关键在于建图.因为“*”的地方只有两种木板覆盖方式:水平或竖直,所以运用这种方式进行二分.首先按行排列,算出每个&q ...

  3. HDU3047 Zjnu Stadium 【带权并查集】

    HDU3047 Zjnu Stadium Problem Description In 12th Zhejiang College Students Games 2007, there was a n ...

  4. POJ 2226.Muddy Fields-二分图最大匹配(最小点覆盖)

    Muddy Fields Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 12565   Accepted: 4651 Des ...

  5. zjnu(1181)——石子合并

    这道题算是最简单的区间dp了..非常久之前写的,搞懂原理了就1A. 传送门:problem_id=1181">http://acm.zjnu.edu.cn/CLanguage/show ...

  6. Hdu 2047 Zjnu Stadium(带权并查集)

    Zjnu Stadium Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...

  7. 【38.63%】【hdu 3047】Zjnu Stadium

    Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s) ...

  8. 在 C# 里使用 F# 的 option 变量

    在使用 C# 与 F# 混合编程的时候(通常是使用 C# 实现 GUI,F#负责数据处理),经常会遇到要判断一个 option 是 None 还是 Some.虽然 Option module 里有 i ...

  9. 如果你也会C#,那不妨了解下F#(7):面向对象编程之继承、接口和泛型

    前言 面向对象三大基本特性:封装.继承.多态.上一篇中介绍了类的定义,下面就了解下F#中继承和多态的使用吧.

随机推荐

  1. P3045 [USACO12FEB]牛券Cow Coupons

    P3045 [USACO12FEB]牛券Cow Coupons 贪心题.先选中 \(c_i\) 最小的 \(k\) 头牛,如果这样就超过 \(m\) ,直接退出,输出答案.否则考虑把后面的牛依次加入, ...

  2. oracle(3)select语句中常用的关键字说明

    1.select 查询表中的数据 select * from stu: ---查询stu表所有的数据,*代表所有2.dual ,伪表,要查询的数据不存在任何表中时使用 select sysdate f ...

  3. oracle数据删除恢复

    insert into 表名 select * from 表名 as of timestamp to_Date('2017-07-20 10:00:00', 'yyyy-mm-dd hh24:mi:s ...

  4. HDU-1114 完全背包+恰好装满问题

    B - Piggy-Bank Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Subm ...

  5. 51Nod1049 最大子段和

    我们来先看题: N个整数组成的序列a1,a2,a3,-,an,求该序列如ai+ai+1+-+aj的连续子段和的最大值.当所给的整数均为负数时和为0. 例如:-2,11,-4,13,-5,-2,和最大的 ...

  6. git使用散记

    1.从远程clone一个项目 git clone ‘项目地址’ //clone项目地 git checkout -b dev origin/dev //远程已有dev分支,新建本地dev分支与远程相对 ...

  7. 获取网站IP地址(Linux,C)

    #include <netdb.h> #include <stdio.h> #include <unistd.h> #include <stdlib.h> ...

  8. tensorflow中的神经网络笔记

    1.NN----神经网络 2.CNN卷积神经网络 CNN网络一共有5个层级结构: 输入层 卷积层 激活层 池化层 全连接FC层 一.输入层 与传统神经网络/机器学习一样,模型需要输入的进行预处理操作, ...

  9. 进度3_家庭记账本App_Fragment使用SQLite实现简单存储及查询

    AddFragment.java: package com.example.familybooks; import android.content.ContentValues; import andr ...

  10. 用户使用API函数对创建的文件进行读写操作

    HANDLE handle; //定义文件句柄 ]; //定义缓冲区 int i; //接收实际操作的字节数 CString str; //定义字符串变量 handle = ::CreateFile( ...