题目地址:不放了,网页加载不出来。

题目:


Bicarp和Monocarp玩游戏,长度为n(n为偶数)的字符串,其中有偶数个?,每次选择0-9中的一个数替换?,Monocarp先开始,若最终前n/2位上数字和与后n/2位上的数字和相同,Bicarp赢,否则Monocarp赢。

解题思路:


num1,sum1记录前n/2位上的?数目和初始数字和,num2,sum2记录后n/2位上的?数目和初始数字和。

考虑何时Bicarp可以赢。

(1)sum1=sum2,那么必定num1=num2方可。

(2)sum1>sum2,为了让前后数字和相同,定有num2>num1,其中num2中的num1位上所填的数字对结果无影响,因为每次Monocarp填一个数之后Bicarp可以和他填相同的数,剩下的num2-num1个数(偶数),Bicarp可填的位数为(num2-num1)/2,且当sum1-sum2=(num2-num1)/2*9时Bicarp才会赢。(因为当sum1-sum2=(num2-num1)/2*9时,无论Monocarp填什么,Bicarp总能随后再填一个数,使得这两个数之和=9,否则Monocarp总能有办法赢)

(3)sum2>sum1和(2)同理

ac代码:


#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5+10;
char s[maxn];
int main()
{int n, num1 = 0, num2 = 0, sum1 = 0, sum2 = 0;scanf("%d", &n);scanf("%s",s+1);for(int i = 1; i <= n; i++){if(i <= n/2){if(s[i] == '?') num1++;else sum1 += s[i]-'0';}else{if(s[i] == '?') num2++;else sum2 += s[i]-'0';}}bool flag = false;if(num1 == num2 && sum1 == sum2) flag = true;else if(sum1 > sum2 && sum1 - sum2 == (num2-num1)/2*9) flag = true;else if(sum2 > sum1 && sum2 - sum1 == (num1-num2)/2*9) flag = true;if(flag) printf("Bicarp");else printf("Monocarp");return 0;
}

【CF585-div2:D】Ticket Game(博弈)相关推荐

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

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

  2. 博弈题解题思路及典例

    解题思路与步骤: 首先明确,博弈是不公平游戏,跟玩家无关,只与当前所出状态有关,即状态确定,结果也就确定了. 需要明确以下几点: 所有的终结点是必败点(即若当前处于必败点,则无论下一步怎么走,都必输无 ...

  3. POJ1067_取石子游戏_威佐夫博弈

    /* *State: 1067 Accepted 176K 16MS C++ 435B *题目大意: * 威佐夫博弈 *解题思路: * 略. */ #include <iostream> ...

  4. Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈)

    Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈) 标签: codeforces 2017-06-02 11:41 29人阅读 ...

  5. BZOJ2275[Coci2010]HRPA——斐波那契博弈

    题目描述 N个石子,A和B轮流取,A先.每个人每次最少取一个,最多不超过上一个人的个数的2倍. 取到最后一个石子的人胜出,如果A要有必胜策略,第一次他至少要取多少个. 输入 第一行给出数字N,N< ...

  6. 博弈最高位POJ 1704(Georgia and Bob-Nim博弈)

    新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,欢迎批评指正 Georgia and Bob Time Limit: 1000MS   Memory Limit: 10000K Total Su ...

  7. #423 Div2 D

    #423 Div2 D 题意 构造一个 n 个节点的树,恰好有 k 个叶子节点 (叶子节点的定义是只与树上的某一个节点存在连边),要求任意两个叶子节点的距离的最大值最小,距离为两个节点间边的数量,输出 ...

  8. 2016 多校赛3 A 水 B 期望,规律 C 各种博弈 J 物理题,积分 K 暴力,水

    2016 Multi-University Training Contest 3 A - Sqrt Bo 题意:给一个数 n,问n要多少次平方后化为1,如果超过5次输出"TAT". ...

  9. 人类偏好的“可塑性”,从博弈说起

    作者 | 斯图尔特·罗素 来源 | <AI新生> 出品 | AI科技大本营 经济学家通过为人类受试者提供选择来套取他们的偏好.该技术广泛应用于产品设计.营销和交互式电子商务系统中.例如,汽 ...

  10. 点分治问题 ----------- P3727 曼哈顿计划E[点分治+博弈SG函数打表找规律]

    题目链接 解题思路: 1.首先对于每个操作我们实际上是一个博弈问题 对于k=1的操作就是很基础的NIM游戏就是找到一条链的异或和为0 对于k=2的操作通过达打表找规律: 如果s是奇数那么偶数的SG函数 ...

最新文章

  1. 《深入浅出WPF》笔记——事件篇
  2. 如何把class里的vector结构体memcpy出来_面试官:请说出线程安全的 ArrayList 有哪些,除了Vector...
  3. 企业中数据中心管理者地位的逆袭
  4. java正则题_牛客网java编程题整理(不定期更新)
  5. skywalking 引起 spring-cloud-gateway 的内存溢出 skywalking的bug
  6. iview 可以选择当天 禁用_人脸识别刚要普及,怎么就被禁用了?|人脸识别|人脸信息|世超|rekognition...
  7. 解决Linux新安装的虚拟机没有网
  8. Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.9
  9. html5 游戏营销,五大H5游戏营销成功案例,你都玩过了吗?
  10. CQI原理及CQI指标优化
  11. phpstudy宝塔_宝塔和phpstudy的区别
  12. Linux虚拟机配置NAT模式上网时,ping不通百度等网站但能ping通局域网ip解决办法
  13. 100uF,10uF,100nF,10nF不同的容值,这些参数是如何确定的?
  14. 一颗韭菜的自我修养:用Python分析下股市,练练手
  15. 自己动手做个小游戏(1)
  16. django-q快速上手定时任务
  17. 精益生产的本质和应用案例
  18. Substance Designer 学习笔记之一 :解惑
  19. 垃圾收集器多标和漏标的概念
  20. 2006 -08-24编程经验

热门文章

  1. maven 配置tomcat 插件
  2. Python 画数学函数图像 matplotlib.pyplot
  3. oracle 19602,Oracle CPU Costing
  4. pyqt qdialog 默认按钮_QT编程的QDialog对话框右上角的问号按钮如何取消呢
  5. 计算机制作培训通知知识点,计算机学习计划(通用3篇)
  6. elementui的横向滚动_记一次element-ui配置化table组件的适应性问题(横向滚动条)...
  7. java 中半圆的函数,前端程序员必须掌握之三角函数在前端动画中的应用
  8. 配置防盗链 访问控制Directory 访问控制FilesMatch
  9. make编译安装_学习笔记
  10. Postgresql创建数据库及用户然后执行初始化脚本