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;
}


【Python_Zebra斑马打印机编程学习笔记(二)】基于BarTender将btw文件转换为zpl文件 本文介绍如何基于 BarTender 软件将 btw 格式的文件转换为 zpl 格式的文件,有需要的读者可以点赞收藏,也欢迎在评论区进行讨论。 阅读详情

相关推荐

基于近场动力学的二维疲劳裂纹扩展模型_近场动力学数值模拟的程序实现(1)——引言...

参考书目W. H. Gerstle. 2015. Introduction to Practical Peridynamic: Computational Solid Mechanics Without Stress and Strain.E.Madenci, A.Barut, M.Dorduncu. Peridynamic Differential Operator for Numerical ...

weixin_39764603的博客 1202

HDU2147 kiki's game,SG问题

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

Neo Fung的专栏 773

Oracle19c安装,基本配置教程(超详细)

安装有出错的风险,卸载也是比较麻烦的,所以先提前设置一个还原点,在windows中的步骤如下,如果对自己有信心,可以直接跳过该部分开始安装oracle在设置中进入创建还原点的界面开始创建还原点上面已经成功创建了还原点,如果安装oracle时出现问题,自己也无法解决,恢复到安装之前即可,恢复步骤如下经过上面的步骤,Oracle我们就能够正常使用了,我们就使用自己在sql plus里面创建的账号即可,创建的表会默认存放在我们自己创建的表空间里面。

秃头披风侠的博客 7万+

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

STM32F4_LCD显示汉字

LCD显示汉字和显示图片、数字、字符的原理是一样的,都是将汉字、图片、数字以及字符转换点阵,进而通过函数扫描点阵在LCD上显示;

light_2025的博客 1万+

arcgis插件 批量出图 按地块批量出图工具(动态文本、动态节点坐标表)

arcgis插件 批量出图 按地块批量出图工具。

坐听风雨 7065

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

全志F1C100S/F1C200S学习笔记(1)——基础简介及资料

资料: 荔枝派资料下载站 荔枝派github 荔枝派中文论坛 荔枝派DIY-github资料 荔枝派Nano 全流程指南 芒果派 坑网

丨晋丨 1万+

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

北斗导航 | ILS(仪表着陆系统)、MLS(微波着陆系统)和GBAS(地基增强系统)的性能对比

最 早 的 GBAS 系 统 是 **局 域 增 强 系 统(LAAS)**,它是 1990 年由美国 Honeywell 公司 和 NASA 共 同 完 成 的 差 分 GPS(DGPS)演 变 而 来 的。1998 年,LAAS 被 ICAO 采 纳为 GBAS。2009 年 9 月 3 日 Honeywell 公 司 的GBAS 系统通过了 **CAT-I 精密进近着陆系统**的设计认证 ,而 **CAT-II 和 CAT-III 系统的研发和验证工作也正在有序的进行中**

尘世冰封的专栏 3985

什么是 SAP Fiori 的 Technical Catalog

笔者之前的文章曾经提到一个叫做本文介绍 Technical Catalog 这个概念在 SAP Fiori 技术体系中的作用。首先我们如何在系统里查看这个 Catalog SAP_BASIS_TCR_T 里面包含的内容呢?如果大家照着本文开头那篇文章里提到的步骤,那么在自己系统里会创建好名叫的 PFCG role.我们登录 ABAP 系统,启动事务码 PFCG,打开这个 role, 就能看到它。展开之后,发现它扮演着一个容器的角色,里面包含了很多 ABAP 对象。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 742

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

【考研复试】西安电子科技大学上机题

【考研复试】西安电子科技大学上机题

全网粉丝30W+,优快云、稀土掘金人工智能领域签约作者,人工智能、大模型、Python 爬虫,商务合作,请私信沟通。 1739

SG函数

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

Insistor 569

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

HDU 2147 kiki's game

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

weixin_34362790的博客 97

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

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

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

Enstein_Jun 1万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

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、付费专栏及课程。

余额充值