P10507 Georgia and Bob 题解

news/2025/2/8 11:59:32/文章来源:https://www.cnblogs.com/HirasawaYuii/p/18703998

P10507 Georgia and Bob 题解

题目链接

题目大意

一个一行的棋盘,棋盘上有 \(n\) 个棋子,两人轮流选择一枚棋子向左移动若干格(会被其他棋子阻拦),询问谁必赢。

解题思路

显然为博弈论。注意到对于两个相邻(指棋子,不是位置)的棋子,若先手移动了左边的棋子若干格,后手也能移动右边的棋子相同的步数,所以对于相邻两对棋子中间的间隔是对结果没有影响的(先后手一人一次解决)。于是问题转化为了怎么处理一对棋子的间隔。显然,一对棋子间的间隔可以类比为石子,转化为 Nim 游戏。特别的,若棋子数为单数,则将第一枚棋子与边界 \(0\) 组成一对。

为便于读者理解,给出一个具体的游戏过程:

代码

// Problem: P10507 Georgia and Bob
// Contest: Luogu
// URL: https://www.luogu.com.cn/problem/P10507
// Memory Limit: 512 MB
// Time Limit: 1000 ms
// Date: 2025-02-07 09:49:04
// 
// Powered by CP Editor (https://cpeditor.org)#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
#define mst(x, y) memset(x, y, sizeof(x))
#define pii pair<int, int>
#define fi first
#define se second
#define mp(x, y) make_pair(x, y)
#define pb(x) push_back(x)int read(){int x = 0, f = 1;char c = getchar();while(c < '0' || c > '9'){if(c == '-') f = -1;c = getchar();}while(c >= '0' && c <= '9'){x = 10*x+c-'0';c = getchar();}return f*x;}
void writ(int x){if(x < 0){putchar('-');x = -x;}if(x > 9) writ(x/10);putchar(x%10 | 0x30);return;}
void write(int x){writ(x);puts("");}
void wr(int x){writ(x);putchar(' ');}
const int N = 1005, inf = 0x3f3f3f3f;int n, a[N], t, res;void init(){t = read();
}
void solve(){while(t--){n = read(), res = 0;for(int i = 1;i <= n;i++) a[i] = read();sort(a+1, a+1+n);if(n&1) for(int i = 1;i <= n;i += 2) res ^= (a[i]-a[i-1]-1);else for(int i = 2;i <= n;i += 2) res ^= (a[i]-a[i-1]-1);if(res) puts("Georgia will win");else puts("Bob will win");}
}signed main(){init();solve();return 0; 
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/880776.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

货梯人形识别摄像机

货梯人形识别摄像机广泛应用于各类商业建筑、物流中心、大型工厂及购物中心等场所。用于实时监测货梯,提高作业效率和安全性。此外,在大型活动现场,如展览会或会议中心,该技术也可用于控制客流量,保障活动顺利进行。随着科技的发展,未来的货梯人形识别摄像机将越来越智能…

CTFShow-Web164-165:图片二次渲染绕过

CTFShow-Web164-165:图片二次渲染绕过 这两题都是图片二次渲染绕过类型,Web164是png,Web165是jpg 常见的二次渲染绕过可以参考:https://j7ur8.github.io/WebBook/PHP/二次渲染绕过.html 🛠️ Web164 WriteUp运行脚本覆盖掉原来图片的内容,制作图片码 from PIL import Im…

Volcano v1.11发布,显著提升AI训练与推理任务的性能

本次更新聚焦AI与大数据的核心需求,推出网络拓扑感知调度、多集群AI作业调度等重磅特性,显著提升AI训练与推理任务的性能。摘要:本次更新聚焦AI与大数据的核心需求,推出网络拓扑感知调度、多集群AI作业调度等重磅特性,显著提升AI训练与推理任务的性能。本文分享自华为云社…

FreeBSD安装FAMP环境

相比于Linux,FreeBSD少了很多面板和一键脚本,自己折腾了一下,记录一下。 配置:VPS一台系统:FreeBSD 14.1SSH工具:MobaXterm 1.更新系统pkg update && pkg upgrade -y 2.安装Apache搜索最新版Apachepkg search apache安装最新版Apachepkg install -y apache24设置…

本地部署 DeepSeek-R1-内部知识库

本地部署 DeepSeek-R1-内部知识库本地部署 DeepSeek-R1-内部知识库环境准备1. 确认系统要求2. 安装 Homebrew一. 安装ollama和启动服务1.1 安装 ollama1.2 启动服务1.3 拉取模型并运行二.运行DeepSeek-R1-集成web页面2.1 运行模型2.2 安装Openweb-UI 界面环境准备 1. 确认系统要…

vscode编写javascript代码时ctrl和f12等快捷键失效

提供一种可能性,由于vscode内置扩展@builtin typescript-language-features被关闭导致无法上下文感知跳转。将其重新启用即可

allegro每次保存时都说提示覆盖原图

保存文件时提示,一般新装的软件才会有这个提示 我们改下设置就不会再弹出这个提示了 Setuo-User Preferences,然后在工具栏搜索Savedb点击搜素,如下图复选框里打勾就行

车流量检测摄像头

车流量检测摄像头广泛应用于城市交通管理、高速公路收费站、停车场管理及大型活动现场等多个领域。在城市中,这些设备为交通信号控制提供数据支持,从而提升通行效率。在高速公路上,它们则用于实时监控车速与流量,以便及时调整收费政策和疏导措施。此外,在停车场中,这类设…

安全帽佩戴智能识别摄像机

安全帽佩戴智能识别摄像机的出现,为安全管理带来了革新性的变化。这种智能摄像机基于先进的计算机视觉技术。其核心算法能够精准地对画面中的物体和人员进行识别。在识别安全帽佩戴情况时,它可以迅速分析图像中每个人员头部的特征,准确判断安全帽是否存在。它像是一位不知疲…

使用 CloudDM 和钉钉流程化管理数据库变更审批

CloudDM 是一个专为团队协同工作打造的数据库数据管控平台。在管控数据库安全变更的过程中,为提高效率,CloudDM 接入了钉钉,支持实时通知与移动办公,满足广大企业用户的实际需求。 本文将介绍如何使用 CloudDM 和钉钉实现高效的数据库变更审批。 接入钉钉 创建钉钉应用登录…

tomcat中部署finereport11.0

手动将finereport11.0部署到Tomcat中1、本文目的 在tomcat中直接访问FineReport的cpt文件,跳过登录。 2、执行步骤创建工作目录将%Tomcat_HOME%\webapps\examples文件复制一份出来,重命名为FR,只保留WEB-INF文件夹,其余全部删除。修改web.xml文件编辑%Tomcat_HOME%/webapps…

富滇银行研发管理从数字化走向智能化 | 通义灵码企业标杆案例

经过几个月的持续优化及通义灵码产品能力的迭代,行内用户活跃度持续提升,AI代码生成占比超过30%,单元测试覆盖率持续提升,周期内未发生重大故障。技术人员已养成使用通义灵码进行编码和研发问答的习惯,进一步推动了软件开发的智能化转型。百年传承,富民兴滇。作为一家拥有…