思路

  1. n 个图是 n 个独立的游戏,我们可以求每个图的 sg 值异或起来,等于 0 必败
  2. 否则必胜。

代码

#include <bits/stdc++.h>
using namespace std;
#define db  double
#define ll  long long
#define Pir pair<int, int>
#define fi  first
#define se  second
#define pb  push_back
#define m_p make_pair
#define inf 0x3f3f3f3f
#define INF 0x3f3f3f3f3f3f3f3f
/*==========ACMer===========*/
const int N = 2005, M = 6005;
int n, m, k;
struct Edge
{int v, ne;
} e[M];
int h[N], tot;
void add(int u, int v) { e[++ tot] = { v, h[u] }; h[u] = tot; }
int a[N], f[N];int sg(int u)
{if (f[u] != -1) return f[u];set<int> s;for (int i = h[u]; i; i = e[i].ne) {int v = e[i].v;s.insert(sg(v));}for (int i = 0; ; i ++) {if (s.count(i) == 0)return f[u] = i;}
}int main()
{memset(f, -1, sizeof f);scanf("%d %d %d", &n, &m, &k);int u, v;while (m --){scanf("%d %d", &u, &v);add(u, v);}for (int i = 1; i <= k; i ++) scanf("%d", &a[i]);int ans = 0;for (int i = 1; i <= k; i ++) ans ^= sg(a[i]);if (ans)printf("win\n");elseprintf("lose\n");return 0;
}

AcWing 1319. 移棋子游戏(sg 博弈)相关推荐

  1. [AcWing] 1319.移棋子游戏 博弈论 Sg函数板子题

    题目链接:1319.移棋子游戏 题解 好久没写博弈论的题了,写几道复习一下,博弈论SG主要由两大部分组成:SG函数和SG定理 SG(x)=mex(S),其中S是x的后继状态的SG函数值集合,mex(S ...

  2. AcWing 1319. 移棋子游戏

    sg函数是一张有向无环图 尼姆博弈对每一张图sg(值)进行游戏 就是加强版的集合尼姆博弈(集合尼姆博弈中拓展是根据集合可能的新状态),这里是回归本质,sg操作是对每个状态拓展出边,并通过出边sg值集合 ...

  3. 1319. 移棋子游戏(sg+图论(移棋子)邻接表)

    题目:https://www.acwing.com/problem/content/1321/ 给定一个有 N 个节点的有向无环图,图中某些节点上有棋子,两名玩家交替移动棋子. 玩家每一步可将任意一颗 ...

  4. [博弈论]移棋子游戏

    https://www.acwing.com/problem/content/1321/ 思路: 求所有棋子的sg异或之和, 记忆化搜索 得到当前结点后继的这些点的sg值之和,放到set里面(哈希表也 ...

  5. 2018.09.16 loj#10243. 移棋子游戏(博弈论)

    传送门 题目中已经给好了sg图,直接在上面跑出sg函数即可. 最后看给定点的sg值异或和是否等于0就判好了. 代码: #include<bits/stdc++.h> #define N 2 ...

  6. 博弈论sg函数——《移旗子游戏》《剪纸游戏》

    传送门:移棋子游戏 思路:按照sg函数定义,在这道题里面,不能移动的状态就是终点态,sg值设为0,其余所有的点的sg函数值就是属于其所有后继节点的sg函数值组成的集合里面非集合元素的最小的一个数字,也 ...

  7. NIM数字游戏 SG函数 有向图博弈 学习记录

    写在前面:很早之前我就想写一写博弈论的学习记录了.本篇文章记录了我在学习博弈论初步时的顺序,现在网络上的博弈论资料大多都是从SG函数开始讲解,而我谜一样的学习方法让我对博弈论初步有了不同的理解过程,所 ...

  8. 组合博弈游戏 - SG函数和SG定理

    转载来自:http://blog.csdn.net/luomingjun12315/article/details/45555495 在介绍SG函数和SG定理之前我们先介绍介绍必胜点与必败点吧. 必胜 ...

  9. 牛客小白月赛7 B自杀游戏(sg博弈)

    sg博弈结论为,下个状态sg的补集的最小值. 题目 #include<bits/stdc++.h> using namespace std; const int maxn=1e5+9; b ...

  10. 如何赢得数学游戏(博弈问题)

    数学游戏(博弈问题)是最优化问题中的一类,同时它也是一类很有趣的逻辑推理问题.其中运用最广的思维是:倒推思维. 例1.桌子上有24根火柴,甲.乙两人轮流取,每人每次取1-3根.谁取到最后一根谁就获胜. ...

最新文章

  1. mysql中数据表如何关联_mysql 如何导入/导出2个关联表中的数据
  2. MySQL普通用户修改密码
  3. iOS 9之WatchKit for WatchOS 2
  4. 时尚电商新赛道:揭秘 FashionAI 技术
  5. 使用C#在应用程序间发送消息
  6. 操作SSO对象模型时,异常“SSO_E_CANARY_VALIDATION_FAILURE”的处理
  7. 洛谷 P1017 进制转换
  8. 上海宝付教你如何更好地保护手机隐私
  9. energy plus matlab,Energyplus教程系列1—Energyplus到底能干啥.ppt
  10. riscv ELF bss段解析
  11. java 释放锁_Java并发编程:锁的释放
  12. 改造家里的开关成为智能开关,保留原有开关控制,零火版,射频遥控器篇(二)
  13. 【国际象棋】棋盘游戏-微信小程序开发流程详解
  14. 使用Python实现日历功能
  15. ZYNQ之路--搞清楚Xilinx开发软件之间的关系
  16. Python音视频剪辑库MoviePy1.0.3中文教程导览及可执行工具下载
  17. Predis\ClientException: Command ‘ZPOPMAX‘ is not a registered Redis command
  18. 五天搞定英语语法系列汇总
  19. windows系统怎么打开自带摄像头?(然并卵的回答)
  20. GENESIS公链将打破不同区块链孤岛效应

热门文章

  1. 【连载】第三章刚体的定轴转动第二节转动惯量 刚体定轴转动定律
  2. C# 使用Panel控件实现窗体嵌套
  3. 学习笔记(1):Linux操作系统入门培训_Linux/Unix基础培训教程视频课程-01.Linux入门培训之_软硬件平台介绍...
  4. 关于MSN群 创建MSN群 使用MSN群
  5. ❤️PPT素材网站推荐❤️让你的PPT更加迷人❤️
  6. vue获取麦克风_HTML5操作麦克风获取音频数据(WAV)的一些基础技能
  7. node 项目打包部署至服务器
  8. 网页对联广告代码效果大全
  9. ubuntu 下星际译王词典下载地址
  10. Fujitsu Lifebook U1010安装XP TabletPC 2005完全攻略