自己的一点想法

  • 举几个例子后发现是谁先手痒痒把某一堆掏空了那他就GG了,因此要尽量让对方不得不掏空某堆。
  • 用最简单的举例后发现:1 1 1 1 1 1,扔给谁谁完蛋;1 1 1 1 1 2,一样的,肯定得动1的部分;1 1 1 1 2 2,还是败;1 1 1 2 2 2,这个就不一样了,这是胜局面,因为可以不必动1,而且将败局面1 1 1 1 1 1扔给对方。至此可以对要使用的策略有模糊的认知。
  • 考虑更常规的:1 2 3 4 5 6,怎么丢给对方差局面?抓2 3 4,使其变成1 1 1 1 5 6,会发现这和1 1 1 1 2 2其实是一样的结局;10 10 20 20 30 30,如果根据之前的认知直观感受,我们抓20 20 30的,变成10 10 10 10 10 30扔给对手,这个情况和1 1 1 1 1 3一样吗?一样。因为对手必须得动最小的那一堆,他这次虽然没有归0,比如变成10 10 10 9 9 29(最后一个随意辣),但我方此时就9 9 9 9 9 29,所以就是赢的。
  • 非要较真,就不拿20 20 30的,就要拿10 10 30呢……比如变成9 9 20 20 30 29,那对方就可以下黑手了,将其变成9 9 9 9 9 30,你输了。
  • 综上,其实这个博弈的结果一开始就是定好了的,如果与最小的不同的数量小于n / 2,则先手败,否则先手胜。
int n, a[55];

int main() {
cin >> n;
rep(i, 0, n - 1) cin >> a[i];
sort(a, a + n);
int dif = 0;
rep(i, 1, n - 1)
if (a[i] != a[0])
dif++;
if (dif < n / 2) puts("Bob");
else puts("Alice");
return 0;
}

Codeforces 1161C(博弈)的更多相关文章

  1. Codeforces 354B 博弈, DP,记忆化搜索

    题意:现在有一个字符矩阵,从左上角出发,每个人交替选择一个字符.如果最后字符a数目大于字符b,那么第一个人获胜,否则b获胜,否则平均.现在双方都不放水,问最后结果是什么? 思路:这题需要注意,选择的字 ...

  2. Ticket Game CodeForces - 1215D 博弈题

    题目描述 Monocarp and Bicarp live in Berland, where every bus ticket consists of n digits (n is an even ...

  3. Codeforces 455B A Lot of Games(字典树+博弈)

    题目连接: Codeforces 455B A Lot of Games 题目大意:给定n.表示字符串集合. 给定k,表示进行了k次游戏,然后是n个字符串.每局開始.字符串为空串,然后两人轮流在末尾追 ...

  4. CodeForces 1099F - Cookies - [DFS+博弈+线段树]

    题目链接:https://codeforces.com/problemset/problem/1099/F Mitya and Vasya are playing an interesting gam ...

  5. codeforces 812E Sagheer and Apple Tree(思维、nim博弈)

    codeforces 812E Sagheer and Apple Tree 题意 一棵带点权有根树,保证所有叶子节点到根的距离同奇偶. 每次可以选择一个点,把它的点权删除x,它的某个儿子的点权增加x ...

  6. 有向图博弈+出度的结合 Codeforces Round #406 (Div. 2) C

    http://codeforces.com/contest/787/problem/C 题目大意:有一个长度为n的环,第1个位置是黑洞,其他都是星球.已知在星球上(不含第一个黑洞)有一位神.有两个人, ...

  7. Codeforces 549C The Game Of Parity【博弈】

    C语言纠错大赛的一道题,正好拿来补博弈~~ 给的代码写的略奇葩..不过还是直接在上面改了.. 题目链接: http://codeforces.com/problemset/problem/549/C ...

  8. codeforces 812 E. Sagheer and Apple Tree(树+尼姆博弈)

    题目链接:http://codeforces.com/contest/812/problem/E 题意:有一颗苹果树,这个苹果树所有叶子节点的深度要不全是奇数,要不全是偶数,并且包括根在内的所有节点上 ...

  9. Codeforces 388C Fox and Card Game (贪心博弈)

    Codeforces Round #228 (Div. 1) 题目链接:C. Fox and Card Game Fox Ciel is playing a card game with her fr ...

随机推荐

  1. 【LeetCode】080. Remove Duplicates from Sorted Array II

    题目: Follow up for "Remove Duplicates":What if duplicates are allowed at most twice? For ex ...

  2. 洛谷【P3612】[USACO17JAN]Secret Cow Code秘密奶牛码

    我对分治的理解:https://www.cnblogs.com/AKMer/p/9728574.html 题目传送门:https://www.luogu.org/problemnew/show/P36 ...

  3. keepalived基本应用解析

    原地址:http://blog.csdn.net/moqiang02/article/details/37921051 概念简单认知: Keepalived:它的诞生最初是为ipvs(一些服务,内核中 ...

  4. iOS获取设备型号的方法

    1. [UIDevice currentDevice].model   自己写的看只抓到模拟器和iPhone.暂时不推荐. 2.自己写的找的方法再添加.直接  NSString * deviceMod ...

  5. Oracle中生成UUID

    Oracle中生成跨系统的唯一识别符UUID非常方便,比生成序列还简单,直接用sys_guid()就行, 例如select sys_guid() from dual 会产生一个跟MAC地址.生成时间相 ...

  6. java try catch 与 throws 使用场景以及怎么合理使用?

    对于如下场景,给出不同的看法: 其实我更多的疑问在于,自定义的方法里面java api抛出了异常,这个时候,我是需要捕获呢?还是我也继续往上抛. 比如,我这里定义了一个日期处理的方法,有两种对异常的处 ...

  7. Sql server 时间格式转化

    --.SQL时间格式转化 --日期转换参数 ) --2009-03-15 15:10:02 ),'-',''),' ',''),':','') ) , ) --2009/03/15 ) , ) ) , ...

  8. 报错apachectl -t

    httpd: apr_sockaddr_info_get() failed for wwwhttpd: Could not reliably determine the server's fully ...

  9. K.I.S.S 原则

    KEEP IT SIMPLE, STUPID! 编写只做一件事情,并且要做好的程序:编写可以在一起工作的程序,编写处理文本流的程序,因为这是通用的接口.这就是UNIX哲学.所有的哲学真 正的浓缩为一个 ...

  10. 关于android中两种service的编写简单总结

    1.startservice (两种方法,继承service类或者继承intentservice 类) 继承service类,在onstartcommend重载方法中实现业务逻辑的处理,如果耗时过长最 ...