题意:给一串序列,第一个人可以从中随意取出和为奇数的子串,第二个人可以从中取出和为偶数的子串,第一个人先走,若到某个人时其无法进行操作,则其输。求出赢的那个人是谁
思路:如果在某步中某个人可以取完所有数,则其必胜,否则既然任意取,那就只取一个符合条件的就好了。

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int maxn = 1e6+5;
int n, a[maxn];
long long sum[maxn];
int main()
{while (cin >> n) {memset(sum, 0, sizeof(sum));sum[0] = 0;for (int i = 1; i <= n; i++) {cin >> a[i];sum[i] = sum[i-1] + a[i];}int turn = 1;while (true) {if ((sum[n] & 1) && turn == 1) {printf("First\n");break;}if (!(sum[n] & 1) && turn == 2) {printf("Second\n");break;}for (int i = 1; i < n; i++) {if (turn == 1 && (a[i] & 1) && a[i]) {sum[n] -= a[i];a[i] = 0;break;}if (turn == 2 && !(a[i] & 1) && a[i]) {sum[n] -= a[i];a[i] = 0;break;}}turn = turn == 1 ? 2 : 1;}}
}

Codeforces 841B Godsend 博弈相关推荐

  1. codeforces 841B Godsend

    http://codeforces.com/contest/841/problem/B 一道奇偶博弈题,两个人轮流拿一串数列中的数字,第一个人能拿总和为奇数的数字,第二个人能拿总和为偶数的数字. 如果 ...

  2. Codeforces 841B - Godsend

    题目链接:http://codeforces.com/problemset/problem/841/B Leha somehow found an array consisting of n inte ...

  3. CodeForces 841B (B) 博弈

    题意 定义A把取数列中区间和为奇数的元素取出来 B把数列中区间长度为偶数的区间删除 那么谁先面临无数可拿的局面为输 输出赢家 A先取 分析 分析可知本题如果区间中每一个数是偶数那么B可以一次取完 则A ...

  4. G - Godsend CodeForces - 841B

    网址:https://cn.vjudge.net/contest/236128#problem/G 给定一个n个整数的序列,两个玩家玩游戏,轮流进行操作(从第一个玩家开始),第一个玩家移除的数之和必须 ...

  5. Ticket Game CodeForces - 1215D(博弈题,巴什博弈思维)

    题意:两个人玩游戏,通过轮流填数字(0~9),若最终左右两边的和相等,后手赢,否则先手赢.起始有部分数字和空格. 官方题解: 题解翻译: 让我们把余额表示为左半部分数字和右半部分数字和的差.也让我成为 ...

  6. Problem - 1190B - Codeforces(分类讨论博弈)

    Problem - 1190B - Codeforces 题目大意:有nnn堆石子,每堆的数目为aia_iai​,现在Alice和Bob两个人可以移走任意一堆不为空的石子中的一颗石子,如果某人移动完石 ...

  7. CodeForces - 1110G Tree-Tac-Toe(博弈+构造)

    题目链接:点击查看 题目大意:给出一棵树状棋盘,棋盘上初始时可能为空也可能为白色,小黑和小白轮流操作,每次操作小黑可以选择一个空位置染成黑色,小白可以选择一个空位置染成白色,胜利规则和五子棋类似,有三 ...

  8. CodeForces 786A Berzerk 博弈?BFS瞎搞

    ans[i][j] i号选手在位置j行动的结果. 预处理,将每位选手能够直接到达黑洞的点 ans[1][(n-a[1][i]+n) % n] = -1; 表示必赢的点 把这些点加入到队列,作为BFS的 ...

  9. codefroces 841B Godsend

    想法题 如果数的和为奇数 那么first直接全部拿走 如果数的和为偶数,分两种情况: 1.如果每个数都是偶数 那么first无法拿走任何数 second赢 2.如果存在奇数(肯定是偶数个): ①如果某 ...

最新文章

  1. 算法编程Algos Programming
  2. CentOS系统NAT共享上网
  3. 《剑指offer》-- 数组中的逆序对、最小的K个数、从1到n整数中1出现的次数、正则表达式匹配、数值的整数次方
  4. sonarqube使用mysql_SonarQube的安装、配置与使用
  5. SpringBoot的编码问题
  6. mysql sql running no_【MySql】复制出现Slave_SQL_Running: No 错误解决
  7. php中mimes函数,wordpress函数check_upload_mimes()用法示例
  8. MVC 配置路由 反复走控制其中的action (int?)
  9. android system webview diable,FV悬浮球橡皮泥主题
  10. 玩家可以输入辅助指令_三菱FX系列PLC输入输出与辅助继电器之间有什么关系?...
  11. 一个游戏策划案(仅供参考)
  12. 《人月神话》:人月神话
  13. 设置notepad++背景护眼色
  14. SLA服务可用性4个9是什么意思?怎么达到?
  15. 红米5a android 版本,【红米5A安卓7.1.2线刷包】MIUI V9.5.3.0.NCKCNFA稳定版 精简线刷包...
  16. TypeError: argument of type ‘NoneType‘ is not iterable
  17. 保罗.格雷厄姆:如何获得创业Ideas | How to Get Startup Ideas
  18. PeckShield:2019年度区块链安全复盘总结暨区块链十大安全事件
  19. 市场分析:洞悉客户决策过程
  20. shiro权限框架详解02-权限理论介绍

热门文章

  1. linux C语言access()函数(检查用户对文件的权限)(判断文件是否存在)
  2. 用PHP开发物联网平台到底怎么样?
  3. 魅族系统底层更新鸿蒙吗,魅族工程师回复网友:Flyme 8没有升级底层
  4. ​McDSP APB Royal Mu母带压缩、Royal Q 母带均衡演示
  5. 标 题: 台资企业一般怎么样啊
  6. ZigBee等技术交流
  7. 深度学习-参数和超参数介绍
  8. 长江游艇俱乐部算法题
  9. 阿里云快速挂载硬盘教程
  10. 大连计算机软件培训,大连计算机办公技能培训