HDU 2147kiki's game(SG函数,找规律)

博弈类题目小结(HDU,POJ,ZOJ) 转载请注明出处,谢谢http://blog.youkuaiyun.com/ACM_cxlove?viewmode=contents    by---cxlove 首先当然要献上一些非常好的学习资料: 基础博弈的小结:http://blog.youkuaiyun.com/acm_cxlove/article/details/7854530 经典翻硬币游戏小结:http://blog.youkuaiyun.com/ac 阅读详情

本来呢觉得求出来SG函数后很简单的,但是呢,MLE无数次之后发现脑洞开的有点大了。

看了一下SG表,找到了规律:当n和m同为奇数时先手必败。

还是简单在这里提一下怎么打一张SG表就可以求出所有的n,m组合。

题意就是让你从右上角移动到左下角,棋盘大小为n*m,那么肯定有SG[n][1]=0

然后不断向右上角拓展就成了直到2000,对于给定的n,m,我们访问SG[2001-n][m]就可以了。


#pragma warning(disable:4996)
#include <cstdio>
#include <cstring>
using namespace std;

/*int SG[2001][2001];
bool vis[4];

void getSG(int N,int M){
	SG[N][1] = 0;
	//填满最后一行
	for (int i = 2; i <= M; i++){
		SG[N][i] = SG[N][i - 1] == 0 ? 1 : 0;
	}
	//填满第一列
	for (int j = N - 1; j >= 1; j--){
		SG[j][1] = SG[j + 1][1] == 0 ? 1 : 0;
	}

	for (int i = 2; i <= M; i++){
		//倒着填每一行
		for (int j = N - 1; j >= 1; j--){
			memset(vis, false, sizeof vis);
			if (SG[j + 1][i] <= 3)vis[SG[j + 1][i]] = true;
			if (SG[j][i - 1] <= 3)vis[SG[j][i - 1]] = true;
			if (SG[j + 1][i - 1] <= 3)vis[SG[j + 1][i - 1]] = true;

			for (int k = 0; k < 4; k++){
				if (!vis[k]){
					SG[j][i] = k;
					break;
				}
			}

		}
	}

}*/

int main(){
	int n, m;
	//getSG(2000, 2000);
	while (scanf("%d %d", &n, &m)){
		/*if (n == 0 && m == 0)break;
		n = 2001 - n;
		if (SG[n][m] == 0)printf("What a pity!\n");
		else printf("Wonderful!\n");*/
		if ((n & 1) && (m & 1))printf("What a pity!\n");
		else printf("Wonderful!\n");
	}
	return 0;
}


YALMIP介绍及怎么在Matlab中加YALMIP、SDPT3 目录YALMIP简介怎么在Matlab中加YALMIP?1. 创建决策变量:2. 添加约束:3. 参数配置4. 求解怎么在MatlabR2019a中加YALMIP?1.下载工具包2.放置工具包3.添加路径4.测试安装结果怎么在MatlabR2019a中加SDPT3? YALMIP简介 怎么在Matlab中加YALMIP? yalmip是一位“集大成者”,它不仅自己包含基本的线性规划求解算法,比如linprog(线性规划)、bintprog(二值线性规划)、bnb(分支界定算法)等,他还提供了对cpl 阅读详情

相关推荐

手把手教你用示波器实测LVDS/CML信号:从波形解读到故障排查(附实测图)

本文详细介绍了如何使用示波器实测LVDS和CML信号,从波形解读到故障排查的全过程。涵盖差分探头选择、示波器配置、标准波形特征解读、眼图分析技巧以及高速信号捕获要点,帮助硬件工程师快速诊断和解决信号完整性问题。附实测图和案例,提升高速数字电路设计效率。

weixin_27215337的博客 200

HDU2147 kiki's game,SG问题

原本以为是很简单的SG问题,一开始是打算利用动态规划的方法从后往前推,但是总是TLE。 后来把各个点的SG值打出来,发现了规律,这个规律我就不说了,你们自己慢慢推导一下 /******************************************************************************* # Author : Neo Fung # Emai

Neo Fung的专栏 773

四参数与七参数坐标转换含义及区别

一.前言 不同坐标系,其椭球体的长半径,短半径和扁率是不同的。比如我们常用的四种坐标系北京54、西安80、WGS84、CGCS2000所对应的椭球体,它们的椭球体参数就各不相同。而不同空间直角坐标系之间的转换一般通过七参数或者四参数来实现坐标转换。 二.四参数转换 两个不同的二维平面直角坐标系之间转换通常使用四参数模型,四参数适合小范围测区的空间坐标转换,相对于七参数转换的优势在于只需要2个公共已知点就能进行转换,操作简单。 在该模型中有四个未知参数,即: (1)两个坐标平...

尘海折柳的博客 1万+

hdu 2147 SG函数打表(手写也可以) 找规律

kiki's game Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 40000/1000 K (Java/Others) Total Submission(s): 4972    Accepted Submission(s): 2908 Problem Description Recently kiki has n

hnust_xiehonghao的专栏 1509

当知识图谱遇见多模态:突破文本界限的智能认知革命

本文探讨了知识图谱与多模态技术的融合,揭示了其在医疗诊断、文化保护等领域的革命性应用。通过图神经网络、对比学习框架和跨模态注意力机制等技术,实现了文本、图像和音频数据的智能关联与认知。文章还分享了在Neo4j等图数据库中的实践案例和优化策略,为构建下一代智能认知系统提供了技术参考。

weixin_29197835的博客 464

无人机避障——4DMmvRadar三维点云坐标转换到无人机坐标系(三)

无人机避障——4DMmvRadar三维点云坐标转换到无人机坐标系(三)

weixin_45390670的博客 1869

HDU2147 kiki's game(博弈论,P/N分析)

Problem Description Recently kiki has nothing to do. While she is bored, an idea appears in his mind, she just playes the checkerboard game.The size of the chesserboard is n*m.First of all, ...

riba2534的博客 682

微信支付V2,jsapi支付拉起收银台报错:调用支付JSAPI缺少参数:total_fee

拉起收银台报错

m0_54355172的博客 3873

2018 CTU Open Contest H.Split Game

2018 CTU Open Contest H.Split Game For a long time, rich clientele of Binary Casino has been requesting a new way to gamble their money. To fulfill their wishes, the director of Binary Casino decided ...

旺崽的博客 3238

FPGA 学习笔记:Vivado 2020.2 MicroBlaze MIG 测试 DDR3 篇四

FPGA 学习笔记:Vivado 2020.2 MicroBlaze MIG 测试 DDR3 篇四

坚韧与专注 2161

硅基半导体量子点:单电子自旋量子比特技术手册

现在我们已经了解了从硅片到容错计算的全部环节,让我们用一张总览图把碎片拼成完整拼图。fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;important;important;important;color:#000!important;important;important;important;important;color:#000!

VectorShift的博客 371

Split Game (SG函数)单堆分为多堆

题目:oj26548 Description For a long time, rich clientele of Binary Casino has been requesting a new way to gamble their money. To fulfill their wishes, the director of Binary Casino decided to introdu...

Jiandong 594

DataEase 未授权+远程代码执行漏洞复现(CVE-2025-49001、CVE-2025-49002)

DataEase 是一款开源的数据分析平台,提供丰富的数据可视化和分析功能,帮助用户轻松地进行数据探索和决策支持。近日,有关DataEase 被爆出多个漏洞,其中 CVE-2025-49001 是由于JWT校验机制错误导致攻击者可伪造JWT令牌绕过身份验证流程,CVE-2025-49002 是由于H2数据库模块没有严格过滤用户输入的JDBC连接参数,可使用大小写绕过补丁。攻击者可利用这些漏洞实现未授权代码执行,威胁用户数据和系统的安全。

李同學AI安全 1947

SG函数

在介绍SG函数和SG定理之前我们先介绍介绍必胜点与必败点吧. 必胜点和必败点的概念: P点:必败点,换而言之,就是谁处于此位置,则在双方操作正确的情况下必败。 N点:必胜点,处于此情况下,双方操作均正确的情况下必胜。 必胜点和必败点的性质: 1、所有终结点是 必败点 P 。(我们以此为基本前提进行推理,换句话说,我们以此为假设) ...

Insistor 569

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

HDU 2147 kiki's game

HDU_2147     这个题目写得太悲剧了,本来我想找个简单点的题目实践一下刚接触的sg函数的,结果一开始没注意到空间的限制,开了二维的sg数组记忆化搜索结果就爆了空间了。     然后不得不换成了递推的模式继续写,而且还要用滚动数组优化内存,但写完交上去TLE了。     那没辙了,找规律吧,然后画了一下5*5的情况就找到规律了,然后直接O(1)求解过掉了。     囧,写到最后几乎...

weixin_34362790的博客 97

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

组合游戏 - SG函数和SG定理

组合游戏的和通常是很复杂的,所以我们介绍一种新工具,可以使组合问题变得简单————SG函数和SG定理。 Sprague-Grundy定理(SG定理):         游戏和的SG函数等于各个游戏SG函数的Nim和。这样就可以将每一个子游戏分而治之,从而简化了问题。而Bouton定理就是Sprague-Grundy定理在Nim游戏中的直接应用,因为单堆的Nim游戏 SG函数满足 SG(x) =

Enstein_Jun 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

hdu 2147 SG函数打表(手写也可以) 找规律

kiki's game Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 40000/1000 K (Java/Others) Total Submission(s): 4972    Accepted Submission(s): 2908 Problem Description Recen...

weixin_34062329的博客 188

hdu-2147:kiki's game 博弈

P点:指后手赢 N点:指先手赢 现在关于P,N的求解有三个规则 (1):最终态都是P (2):按照游戏规则,到达当前态的前态都是N的话,当前态是P (3):按照游戏规则,到达当前态的前态至少有一个P的话,当前态是N 由规则可以求出状态矩阵,由以下代码可打印出 #pragma comment(linker,"/STACK:10240000

海盗船 945

SG函数入门

SG函数入门 必胜点与必败点 概念 P点:必败点,换句话说,就是在双方都选择最优策略的情况下,谁处于此状态谁必败。 N点:必胜点,换句话说,就是在双方都选择最优策略的情况下,谁处于此状态谁必胜。 性质 1.所有的终结点都是必败点P。 2.从任意的必胜点N进行操作,至少有一种方式到达一个必败点。 3.从任意的一个必败点P进行操作,只可能到达必胜点N。 我们研究必胜点与必败点的目的是以此为...

asb57414的博客 276

(博弈 sg入门)kiki's game -- hdu -- 2147

链接: http://acm.hdu.edu.cn/showproblem.php?pid=2147 题意: 在一个n*m的棋盘上,从(1,m),即右上角开始向左下角走。 下棋者只能往左边(left),左下面(left-underneath),下面(underneath),这三个方格下棋。 最后不能移动的人算输思路:手动可以画出必胜态以及必败态的图可以很容...

weixin_33861800的博客 118

博弈 - SG函数和SG定理

转自:http://blog.youkuaiyun.com/luomingjun12315/article/details/45555495 在介绍SG函数和SG定理之前我们先介绍介绍必胜点与必败点吧. 必胜点和必败点的概念:        P点:必败点,换而言之,就是谁处于此位置,则在双方操作正确的情况下必败。        N点:必胜点,处于此情况下,双方操作均正确的情况下必胜

Sothan 742

【巴什博弈】HDU2147[kiki's game]题解

题目概述一个棋盘,刚开始在 (1,m)(1,m) ,每次可以往左或下或左下走一步,问先手是否必胜。解题报告直接求 SGSG 函数就行了。但是如果把 SGSG 函数打表出来,会发现只要 nn 是偶数或者 mm 是偶数就能必胜,这好像就是巴什博弈???示例程序#include<cstdio> using namespace std; const int maxn=2000;int n,m;bool f[

ZigZagK的博客 442

hdu_2147_kiki's game

kiki's game Problem Description Recently kiki has nothing to do. While she is bored, an idea appears in his mind, she just playes the checkerboard game.The size of the chesserboard is n*m.

u012631715的专栏 559
上一篇: HDU 1848 Fibonacci again and again(SG函数)
下一篇: HDU 1847 Good Luck in CET-4 Everybody!(SG函数)
acraz
博客等级 码龄12年 3粉丝 104原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值