Game of Cards Gym - 102822G

Game of Cards Gym - 102822G

题意:

小兔子和小马喜欢玩奇怪的纸牌游戏。现在,他们正在玩一种叫做0123游戏的纸牌游戏。桌子上有几张牌。其中c0标记为0,c1标记为1,c2标记为2,c3标记为3。小兔子和小马轮流玩游戏,小兔子先走。在每一回合中,玩家应选择两张牌,条件是两张牌上的数字之和不超过3,然后将这两张牌换成标有其和的牌。不能移动的玩家将输掉比赛。小兔子和小马在想谁会赢这场比赛
c0, c1, c2, c3 (0 <= c0, c1, c2, c3 <= 1e9)

题解:

题目的数据范围就说明了这个题用记忆化搜索+sg函数无法做出,这么大的范围说明是个找规律题
这种题貌似只能枚举出所有的情况:
参考题解
这篇文章分析讲解的非常到位,这种题我还是没有经验
我感觉关键地方在于两个1可以得到一个2,2又可以和一个1合成3,相当于这一趟1牌少了3个,但是对方度过一轮,所以要考虑c1%3的情况(c1为1牌的数量)
在这里插入图片描述

代码:

我一开始写的打表sg()代码

#include<bits/stdc++.h>
#define debug(a,b) printf("%s = %d\n",a,b);
typedef long long ll;
using namespace std;inline int read(){int s=0,w=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();//s=(s<<3)+(s<<1)+(ch^48);return s*w;
}int sg[22][22][22][22];
int check(int a,int b,int c,int d){if(sg[a][b][c][d]!=-1)return sg[a][b][c][d];if(a==0&&b==0)return sg[a][b][c][d]=0;int vis[10300];memset(vis,0,sizeof(vis));if(a>=2)vis[check(a-1,b,c,d)]=1;if(b>=2)vis[check(a,b-2,c+1,d)]=1;if(a>=1&&c>=1)vis[check(a-1,b,c,d)]=1;if(a>=1&&d>=1)vis[check(a-1,b,c,d)]=1;if(b>=1&&c>=1)vis[check(a,b-1,c-1,d+1)]=1;for(int i=0;i<10300;i++){if(!vis[i])return sg[a][b][c][d]=i;}
}int main()
{int t;int cas=0;memset(sg,-1,sizeof(sg));for(int a=0;a<=10;a++)for(int b=0;b<=10;b++)for(int c=0;c<=10;c++)for(int d=0;d<=12;d++){printf("Case #%d: a=%d,b=%d,c=%d,d=%d ",++cas,a,b,c,d);if(check(a,b,c,d))puts("Rabbit");else puts("Horse");}
}

根据规律得到的正解

#include <bits/stdc++.h>
using namespace std;
const int maxn=1e5;
#define ll long long
int check(int a[5])
{if (a[1]==0 && a[2]==0)//只有0和3{if (a[3]==0){if (a[0]%2==1 || a[0]==0)return -1;}else if (a[0]%2==0){return -1;}return 1;}if (a[0]%2==0){if (a[1]%3==0){return -1;}if (a[1]%3==1 && a[2]==0){return -1;}}else{if (a[1]%3==1 && a[2]>0){return -1;}if (a[1]%3==2 && a[2]<=1){return -1;}}return 1;
}
int main()
{int t, tot=0;scanf("%d", &t);while(t--){int a[5];scanf("%d%d%d%d", &a[0], &a[1], &a[2], &a[3]);if (check(a)==1){printf("Case #%d: Rabbit\n", ++tot);}else{printf("Case #%d: Horse\n", ++tot);}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/316831.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开源组件ExcelReport 3.x.x 使用手册(为.netcore而来

ExcelReport转眼已经开源4年了&#xff0c;期间有很长时间也停止了对它的维护。18年年末有人联系到我&#xff0c;说“兄弟&#xff0c;ExcelReport不错&#xff0c;但什么时候支持.netcore呢&#xff1f;”。我寥寥的回了几句搪塞的话&#xff0c;也没当回事。后来这兄弟又来问…

《.NET Core 和前后端那些事儿》技术交流活动纪实

长沙.NET技术社区.NET Core和前后端那些事儿技术交流纪实2019年3月10日&#xff0c;下午&#xff0c;在位于沁园春御院的长沙市互联网活动基地&#xff0c;在长沙市.NET技术社区的组织下&#xff0c;长沙市.NET技术圈第一次纯粹的技术沙龙在这里召开。这次活动总共参加人数超过…

10个小技巧助您写出高性能的ASP.NET Core代码

今天这篇文章我们来聊一聊如何提升并优化ASP.NET Core应用程序的性能&#xff0c;本文的大部分内容来自翻译&#xff0c;当然中间穿插着自己的理解&#xff0c;希望对大家有所帮助&#xff01;话不多说开始今天的主题吧&#xff01;我们都知道性能是公共网站取得成功的关键因素…

CF 1529D Kavi on Pairing Duty

CF 1529D Kavi on Pairing Duty 题意&#xff1a; 有2 * n个点&#xff0c;现在要求两个点连成线段&#xff0c;每个连法都可以得到n个线段&#xff0c;合法的连接方式为&#xff1a;连接的n个线段&#xff0c;任意两个线段要么长度相等&#xff0c;要么有包含关系 n<1e6 …

东莞.NET技术线下沙龙活动资料分享

今天天气虽然很不好&#xff0c;但不减广大.NET开发者的热情&#xff0c;仍然到场率很高。因图片还在整理中&#xff0c;暂时只发出个简单的活动资料整理分享&#xff0c;后续摄影师图片修图好后&#xff0c;再一并给到场者发送图片&#xff0c;和对活动的现场报道作更详细的图…

对弈(nim-k游戏博弈)

problem AliceAliceAlice 和 BobBobBob 又在玩游戏。 AliceAliceAlice 和 BobBobBob 在一个 1n1\times n1n 的网格图上玩游戏&#xff0c;网格图的 nnn 个格子中&#xff0c;有 kkk 个格子内被各放了一个棋子&#xff0c;其中 kkk 是一个偶数。 从左到右&#xff0c;这 kkk 个…

.Netcore 2.0 Ocelot Api网关教程(6)- 配置管理

本文介绍Ocelot中的配置管理&#xff0c;配置管理允许在Api网关运行时动态通过Http Api查看/修改当前配置。由于该功能权限很高&#xff0c;所以需要授权才能进行相关操作。有两种方式来认证&#xff0c;外部Identity Server或内部Identity Server。1、外部Identity Server修改…

最短路径(虚树+期望)

problem 给定一棵 nnn 个结点的无根树&#xff0c;每条边的边权均为 111 。 树上标记有 mmm 个互不相同的关键点&#xff0c;小 A 会在这 mmm 个点中等概率随机地选择 kkk 个不同的点放上小饼干。 你想知道&#xff0c;经过有小饼干的 kkk 个点的最短路径长度的期望是多少。…

【学习笔记】最大权闭合子图和最大密度子图(最小割的模型应用)

最大权闭合子图和最大密度子图最大权闭合子图contentexercise最大密度子图contentexerciseUpd&#xff1a;最大权闭合子图易懂证明最大权闭合子图 content 先作出以下声明&#xff1a; c(u,v):c(u,v):c(u,v): 边 (u,v)(u,v)(u,v) 的容量。 f(u,v):f(u,v):f(u,v): 边 (u,v)(u,…

Docker最全教程之使用Docker搭建Java开发环境(十八)

前言Java是一门面向对象的优秀编程语言&#xff0c;市场占有率极高&#xff0c;但是在容器化实践过程中&#xff0c;发现官方支持并不友好&#xff0c;同时与其他编程语言的基础镜像相比&#xff08;具体见各语言镜像比较&#xff09;&#xff0c;确实是非常臃肿。本篇仅作探索…

AT2705 [AGC019F] Yes or No(组合数学)

解析 Atcoder的题超小的码量总让人做不出来的时候感到很不甘心… 但这题确实挺难的&#xff0c;主要还是魔术一样的奇淫技巧。 大力推式子那个阴间方法我直接选择弃疗。 一个很显然的结论是&#xff1a;肯定回答当前剩的比较多的选项。 pia一张洛谷的图&#xff1a; &#…

ASP.NET Core 项目简单实现身份验证及鉴权

环境VS 2017ASP.NET Core 2.2目标以相对简单优雅的方式实现用户身份验证和鉴权&#xff0c;解决以下两个问题&#xff1a;无状态的身份验证服务&#xff0c;使用请求头附加访问令牌&#xff0c;几乎适用于手机、网页、桌面应用等所有客户端基于功能点的权限访问控制&#xff0c…

ML.NET 发布0.11版本:.NET中的机器学习,为TensorFlow和ONNX添加了新功能

微软发布了其最新版本的机器学习框架&#xff1a;ML.NET 0.11带来了新功能和突破性变化。新版本的机器学习开源框架为TensorFlow和ONNX添加了新功能&#xff0c;但也包括一些重大变化, 这也是发布RC版本之前的最后一个预览版&#xff0c;这个月底将发布0.12版本&#xff0c;也就…

如何使用AWS和Azure的配置存储服务保存读取配置

原文&#xff1a;Want to yank configuration values from your .NET Core apps? 作者&#xff1a;pauljwheeler译文&#xff1a;https://www.cnblogs.com/lwqlun/p/10508748.html译者&#xff1a;Lamond Lu示例源代码&#xff1a;https://github.com/lamondlu/LoadConfigurat…

Meaningless Sequence Gym - 102832D

Meaningless Sequence Gym - 102832D 题意&#xff1a; 给你n和c&#xff0c;an的公式如下图 让你求a0…an的和&#xff0c;mod 1e97 题解&#xff1a; 训练时推了好一阵子才和队友推出 我看网上正解为&#xff1a; 一个数的大小与它的二进制表示中的1的个数有关 ac(二进制…

【.NET Core项目实战-统一认证平台】第十六章 网关篇-Ocelot集成RPC服务

一、什么是RPCRPC是“远程调用&#xff08;Remote Procedure Call&#xff09;”的一个名称的缩写&#xff0c;并不是任何规范化的协议&#xff0c;也不是大众都认知的协议标准&#xff0c;我们更多时候使用时都是创建的自定义化&#xff08;例如Socket&#xff0c;Netty&#…

.net Core2.2 WebApi通过OAuth2.0实现微信登录

前言微信相关配置请参考 微信公众平台 的这篇文章。注意授权回调域名一定要修改正确。微信网页授权是通过OAuth2.0机制实现的&#xff0c;所以我们可以使用 https://github.com/china-live/QQConnect 这个开源项目提供的中间件来实现微信第三方登录的流程。开发流程1、新建一个…

Nginx优化(重点)与防盗链(新版)

Nginx优化(重点)与防盗链 Nginx优化(重点)与防盗链一、隐藏Nginx版本号1、修改配置文件2、修改源代码 二、修改Nginx用户与组1、编译安装时指定用户与组2、修改配置文件指定用户与组 三、配置Nginx网页的缓存时间四、实现Nginx的日志切割1、data的用法2、编写脚本进行日志切割的…

CodeForces730E Award Ceremony(拓扑排序+结论)

CF730E. Award Ceremonyproblemsolutioncodeproblem 题目链接 题目大意&#xff1a; 给出 nnn 个队封榜时的榜单 aia_iai​ 和揭榜时的变化情况 did_idi​。 揭榜时&#xff0c;这个队的名次会变化 tit_iti​。 注意在别的队揭榜时&#xff0c;自己队的排名也是动态变化的…

.Netcore 2.0 Ocelot Api网关教程(番外篇)- Ocelot v13.x升级

由于Ocelot系列博客好久没更新&#xff08;差不多有10个月的时间了&#xff09;&#xff0c;在此先说声抱歉&#xff0c;Ocelot系列会继续更新下去。在写上一篇配置管理的时候发现官方文档已经和以前的不一样&#xff0c;而Ocelot也从5.0版本更新到了13.x版本&#xff0c;进行了…