CF786题解

美食家大橙子  金牌会员 | 2024-1-20 01:24:59 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 927|帖子 927|积分 2781

CF786


我不会告诉你链接在图片里
CF786A


CF786A题意

给出一个大小为 \(n\) 的环,点顺时针从 \(1\to n\) 编号,两个人(设为 \(0,1\))轮流移动其中的一个棋子。
对于第 \(opt\) 人,他能够将这个棋子顺时针移动 \(x\in S_{opt}\)(\(S_{opt}\) 是提前给出的)个步数,当某个人将棋子挪到 \(1\) 时这个人获胜。
问对于每一个位置和先手,要求你判断先手必胜,后手必胜还是死循环。
\(n\le 7000\)
CF786A题解

首先我们知道,博弈论有一个性质,就是对于一种状态 \(sta\),如果它所有能到达的状态都是必胜,那么这个状态必败,否则必胜。
首先我们知道 \(1\) 位置必败,于是就可以尝试倒着推情况。
记搜即可。
CF786A代码

[code]#includeusing namespace std;inline int read(){    int x = 0, f = 1;char ch = getchar();    while(ch < '0' || ch > '9'){if(ch == '-') f = -1;ch = getchar();}    while(ch >= '0' && ch

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

美食家大橙子

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表