GG and MM

结论

题意:

每组给n个游戏,每个游戏有两堆石头,GG和MM轮流操作,操作规则:

从两堆里面选出一堆,假设这堆石头有x个,然后在另一堆里取k*x个石头(k是正整数)

谁不能取石头谁输,MM先手。

思路:

这是一个every——sg游戏。

决定总游戏胜负的是最后一局游戏的胜负。因为不能取石头的情况就已经是最后一局了,所以之前的游戏胜负情况没有意义。

那么为了自己能赢,对于自己会赢的游戏,我肯定想尽可能地延长时间,对于自己会输的游戏,我肯定想尽可能地结束。

那么可以找出每一局所走的时间,最后进行判断即可。

代码

/*Author : lifehappy
*/
#pragma GCC optimize(2)
#pragma GCC optimize(3)
#include <bits/stdc++.h>#define mp make_pair
#define pb push_back
#define endl '\n'
#define mid (l + r >> 1)
#define lson rt << 1, l, mid
#define rson rt << 1 | 1, mid + 1, r
#define ls rt << 1
#define rs rt << 1 | 1using namespace std;typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> pii;const double pi = acos(-1.0);
const double eps = 1e-7;
const int inf = 0x3f3f3f3f;inline ll read() {ll f = 1, x = 0;char c = getchar();while(c < '0' || c > '9') {if(c == '-')    f = -1;c = getchar();}while(c >= '0' && c <= '9') {x = (x << 1) + (x << 3) + (c ^ 48);c = getchar();}return f * x;
}const int N = 1e3 + 10;int a[N], b[N], sg[N][N], step[N][N];int get_sg(int x, int y) {if(x > y) swap(x, y);if(sg[x][y] != -1) return sg[x][y];if(!x || !y) return sg[x][y] = step[x][y] = 0;int tempx = y % x, tempy = x;int k = y / x;if(k == 1) {sg[x][y] = get_sg(tempx, tempy) ^ 1;step[x][y] = step[tempx][tempy] + 1;return sg[x][y];}else {step[x][y] = get_sg(tempx, tempy) + step[tempx][tempy] + 1;return sg[x][y] = 1;}
}int main() {// freopen("in.txt", "r", stdin);// freopen("out.txt", "w", stdout);// ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);memset(sg, -1, sizeof sg);int n;while(scanf("%d", &n) != EOF) {int maxn = 0;for(int i = 1; i <= n; i++) {int x, y;scanf("%d %d", &x, &y);if(x > y) swap(x, y);get_sg(x, y);maxn = max(maxn, step[x][y]);}puts(maxn & 1 ? "MM" : "GG");}return 0;
}

GG and MM(every sg 游戏)相关推荐

  1. java mm_Java网络编程-你是GG还是MM?

    第六阶段 网络编程 每一台计算机通过网络连接起来,达到了数据互动的效果,而网络编程所解决的问题就是如何让程序与程序之间实现数据的通讯与互动 在吗?你是GG还是MM? (一) 网络模型概述 (1) 两大 ...

  2. GG修改Unity 3D加密游戏

    首先是提取Assembly-CSharp.dll文件,参见简单Unity 3D游戏加密dll文件提取 然后使用dnSpy找到要修改代码的特征码: 在set上鼠标右键"在十六进制编辑器中显示方 ...

  3. 博弈论题目总结(二)——SG组合游戏及变形

    SG函数 为了更一般化博弈问题,我们引入SG函数 SG函数有如下性质: 1.如果某个状态SG函数值为0,则它后继的每个状态SG函数值都不为0 2.如果某个状态SG函数值不为0,则它至少存在一个后继的状 ...

  4. Every-SG游戏

    参考自 石家庄二中 贾志豪 IOI2009国家集训队论文 <组合游戏略述-- 浅谈 SG 游戏的若干拓展及变形> 一.定义 游戏规则加上 对于还没有结束的所有单一游戏,游戏者必须对其进行决 ...

  5. qq家园里游戏c语言,盘点腾讯旗下5款过气游戏,全部玩过的人都该结婚了吧

    原标题:盘点腾讯旗下5款过气游戏,全部玩过的人都该结婚了吧 腾讯游戏作为国内最大的游戏运营商,从成立以来发行和运营过数百款游戏,拥有的游戏类型也非常丰富,几乎覆盖了所有产品类型,但并不是所有游戏都能成 ...

  6. 勇闯掘金小游戏为一款多个小游戏的合集游戏,有五个关卡:找掘金、石头剪刀布、寻找藏宝图、打地鼠、抽奖。基于Vue

    游戏简介 勇闯掘金小游戏为一款多个小游戏的合集游戏,共有五个关卡,分别为:找掘金.石头剪刀布.寻找藏宝图.打地鼠.抽奖.每个环节20分,满分100分. 完整代码下载地址:勇闯掘金小游戏 快速体验 ht ...

  7. JS之小游戏 pet

    一个网页的小游戏,养宠物,可以练习一下 <!DOCTYPE html> <html lang="en"><head><meta chars ...

  8. hdu2897邂逅明下——博弈sg函数的应用

    邂逅明下 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  9. 博弈论进阶之Anti-SG游戏与SJ定理

    前言 在上一节中,我们初步了解了一下SG函数与SG定理. 今天我们来分析一下SG游戏的变式--Anti-SG游戏以及它所对应的SG定理 首先从最基本的Anti-Nim游戏开始 Anti-Nim游戏是这 ...

最新文章

  1. 李开复:AI巨头是有史以来最难以打破的垄断
  2. ???既然post可以将form 表单的数据提交到 jsp页面上面显示出来,为什么还要提交到servlet页面...
  3. Floats and marginpars not allowed inside `multicols' Unknown float option `H'. 基于LaTex+VSCode+MAC
  4. n条线分平面问题解决方法总结
  5. uwsgi指定python路径_uwsgi-安装实操
  6. 分阶段付款 学php,项目整理-支付宝的支付问题
  7. php开发电商项目的技术,[项目实战] php电商开发基本功课程 电商后台实战开发视频教程 共6章...
  8. TikZ绘图示例——尺规作图: 椭圆的近似画法
  9. wrapper在python中_virtualenvwrapper如何在python中安装虚拟环境?
  10. dedesmc 手机端生成静态页
  11. java 文本框输入监听事件_JAVA GUI 事件监听事件 详解 和 案例.
  12. Mysql优化(出自官方文档) - 第二篇
  13. 2018年下半年《软件评测师》上午试卷及答案
  14. excel打不开_mac版excel死机该如何恢复?
  15. 软件结构体系实验作业一——使用状态模式模拟会员积分系统
  16. mysql 数据透视_把数据库中的数据制作成Excel数据透视表
  17. 简述相关分析(Correlation)
  18. python工控开发框架_GitHub - hzglitter/isf: ISF(Industrial Security Framework),基于Python的工控漏洞利用框架...
  19. 计算机 usb 检测,怎样检测计算机USB接口类型
  20. 微信和平精英服务器怎么填,和平精英微信游戏名片怎么设置?微信游戏名片设置方法一览[多图]...

热门文章

  1. 用单片机测量流体流速的_流量测量的主要方法
  2. dell设置从ssd启动_为什么懂电脑的人都说SSD不要分区?原来真相是这样!
  3. c++ console 取实时输入_灵活使用 console 让 js 调试更简单
  4. 两度破译“白宫密码”,让美国政府部门崩溃,却称自己是抱娃敲代码的普通妈妈
  5. 华人AI界痛失“一代宗师”,计算机视觉之父黄煦涛教授去世
  6. 人类究竟有多喜欢看热闹?! | 今日最佳
  7. 递推与储存,是动态规划的关键
  8. python柱状图挨在一起_echarts多个柱状图展示问题(bar都挤到一起了)
  9. python读写文件实例_python读写文件的简单示例
  10. 学计算机要买什么样的电脑,大学开学要买电脑吗?又要买什么样的电脑?看准这些再买也不迟!...