原题P7589 黑白棋(2021 CoE-II B)

题目描述 \text{Alice}Alice 和 \text{Bob}Bob 正在玩一种称为“黑白棋”的游戏。该游戏的规则如下:

游戏在直角坐标系中进行。

\text{Alice}Alice 执黑棋,\text{Bob}Bob 执白棋。

初始时,在直角坐标系中任选 nn 条与 XX 轴平行的直线,直线在 YY 轴上的截距均为整数,且互不相同。\text{Alice}Alice
在每条直线上都会放置一枚黑棋,\text{Bob}Bob 在每条直线上都会放置一枚白棋,棋子位置的 XX
坐标值均为整数。在同一条直线上的两枚棋子位置不会相同。

\text{Alice}Alice 和 \text{Bob}Bob 轮流走棋,\text{Alice}Alice
总是先走棋。每名玩家在走棋时,先选择一条直线,然后沿着直线移动该条直线上己方颜色的棋子。

每个玩家可以将自己的棋子向着靠近对方棋子的方向一次性移动若干整数单位距离,称之为前进。每个玩家也可以向着远离对方棋子的方向一次性移动若干整数单位距离,称之为后退。只要在前进时不跨过对方的棋子,也不使黑棋和白棋的位置发生重叠,前进的最远距离不限,但是前进的距离至少为
11,如果无法满足前述条件,则玩家不能执行前进操作。为了避免玩家反复后退导致游戏无法结束,在一局游戏中,某个玩家执行后退操作的总次数不能超过
kk 次。与此同时,为了防止游戏区域太大以致在显示游戏状态上造成不便,每次后退的距离至少为 11,但不能超过
dd。如果无法满足前述条件,玩家不能执行后退操作。

玩家在轮到自己走棋时,如果能够执行操作就必须执行一次操作,此操作可以是前进操作,也可以是后退操作(如果未超出后退次数的限制)。

如果某个玩家无法执行任何操作来移动自己的棋子,将输掉游戏,游戏结束。

给定游戏的初始状态,假设 \text{Alice}Alice 和 \text{Bob}Bob 在游戏时均采用最佳策略,试确定
\text{Alice}Alice 能否获胜。

直接看成是nim游戏:

/*
https://www.luogu.com.cn/problem/P7589P7589 黑白棋(2021 CoE-II B)
*/#include<bits/stdc++.h>
using namespace std;int main(){int t;cin >> t;while(t --){int n, k, d;cin >> n >> k >> d;int y, b, w;int ans = 0;for(int i = 1; i <= n; i ++){cin >> y >> b >> w;ans ^= (abs(b-w)-1);}if(ans) cout << "Yes\n";else cout << "No\n";}return 0;
}

P7589 黑白棋(2021 CoE-II B相关推荐

  1. 从0开始 Java实习 黑白棋

    黑白棋的设计 代码如下: import java.util.*; public class Chess{char[][] chess = new char[16][16];public static ...

  2. 黑白棋(人人对战)——C语言实现方法之一

    黑白棋(人人对战)--C语言实现方法之一 黑白棋,又叫翻转棋(Reversi).奥赛罗棋(Othello).苹果棋或正反棋(Anti reversi).黑白棋在西方和日本很流行.游戏通过相互翻转对方的 ...

  3. Linux下黑白棋c语言程序,黑白棋(C语言源程序)

    <黑白棋(C语言源程序)>由会员分享,可在线阅读,更多相关<黑白棋(C语言源程序)(8页珍藏版)>请在人人文库网上搜索. 1.黑白棋C语言程序编辑#includegraphic ...

  4. 基于Python的Reversi黑白棋游戏设计与开发

    摘 要 黑白棋是一个相当易学,而且很受欢迎的游戏.近年来,随着机器性能的提高和相关理论的完善,人工智能这一领域变得越来越重要,在实际生活中的运用也越来越广泛.为了学习简单的人工智能,我决定用Pytho ...

  5. 深度解析黑白棋AI代码原理(蒙特卡洛搜索树MCTS+Roxanne策略)

    深度解析黑白棋AI代码原理(蒙特卡洛搜索树MCTS+Roxanne策略) 文章目录 深度解析黑白棋AI代码原理(蒙特卡洛搜索树MCTS+Roxanne策略) 黑白棋规则 传统黑白棋策略 蒙特卡洛搜索树 ...

  6. 蒙特卡洛树搜索-黑白棋(一):黑白棋介绍及棋盘类

    这是关于蒙特卡洛树搜索解决黑白棋问题的文章,如果你不了解蒙特卡洛树搜索,参看蒙特卡洛树搜索 文章目录 1. 黑白棋简介 2. 游戏规则 3. 棋盘类 4.函数具体实现 5. 测试 1. 黑白棋简介 黑 ...

  7. 51nod 1368:黑白棋 二分图最大匹配

    1368 黑白棋 题目来源: TopCoder 基准时间限制:1 秒 空间限制:131072 KB 分值: 160 难度:6级算法题  收藏  取消关注 有一个N*M的棋盘(1<=N,M< ...

  8. 《算法竞赛入门经典》习题4-3 黑白棋(Othello, ACM、ICPC World Finals 1992, UVa220)

    原题及翻译 Othello is a game played by two people on an 8 x 8 board, using disks that are white on one si ...

  9. android 双人黑白棋开发博客,黑白棋 - 软件资讯 - 课堂党年级博客

    黑白棋叫反棋(Reversi).奥赛罗棋(Othello)苹棋翻转棋黑白棋西本流行游戏通相互翻转棋棋盘谁棋判断胜负 黑白棋棋盘8*8格棋盘棋棋空格间像围棋交叉点始棋盘两白两黑四棋交叉放置黑棋总先 自颜 ...

最新文章

  1. 2021年大数据常用语言Scala(二十八):scala面向对象 MAVEN依赖和类
  2. html5手机页面的那些meta
  3. gin使用 GET, POST, PUT, PATCH, DELETE, OPTIONS
  4. Oracle中根据表明获取对应表触发器名称
  5. 【小白学PyTorch】扩展之Tensorflow2.0 | 21 Keras的API详解(下)池化、Normalization
  6. php模拟请求get请求,php模拟get请求方法总结
  7. 一行代码让matplotlib图表变高大上
  8. LLS战队高级软件工程第九次作业敏捷冲刺七
  9. 【SAS NOTE】substr函数
  10. python调用报表制作工具_使用Python轻松制作漂亮的表格
  11. 面试问题汇总 精选 分析 解答 职业规划 part 4
  12. Mybatis源码阅读(三):结果集映射3.2 —— 嵌套映射
  13. STM32F103系列实战之通用同步异步收发器(USART)
  14. Vue数据代理与数据监测
  15. 普通人快速拿到校招offer的十大狠招
  16. 怎么做java项目_作为一名初学Java者 如何做简单的Java项目
  17. lammps运行Linux,Lammps安装教程
  18. 国内外云服务器运维面板有哪些?运维面板全面汇总
  19. 印象笔记chrome插件 安装 程序包无效
  20. LeetCode 股票问题买股票最佳时机ⅠⅡⅢⅣ 含手续费含冷冻期

热门文章

  1. Windows下MPI启动
  2. [Unity实战]换装系统的原理
  3. 量子隐形材料效果强悍 美军将用于军事领域
  4. 关于提高编程思维与工作效率的总结
  5. C++对象是怎么死的
  6. 《真香编辑器—CSDN编辑器|CSDN编辑器测评》
  7. Android Apk瘦身指南大全
  8. photoshop 快速画直线 1
  9. python文件内容 替换,Python对指定文件内容进行全局替换
  10. 最强(细)校招/社招求职指南:隔壁小姐姐已经收到字节意向书,你的秋招还没开始?