Leetcode 1025. 除数博弈(DAY 25)---- 动态规划学习期
发布日期:2021-06-30 22:24:30 浏览次数:2 分类:技术文章

本文共 1502 字,大约阅读时间需要 5 分钟。

原题题目

在这里插入图片描述



代码实现(首刷自解超时) :(

bool gametest(int N,int role){
if(N==1) {
if(role) return true; else return false; } int temp = sqrt(N),i; for(i=1;i<=temp;i++) {
if(!(N%i)) {
if(!role) {
if(gametest(N-i,1)) return true; } else {
if(!gametest(N-i,0)) return false; else return true; } } } return false;}bool divisorGame(int N){
return gametest(N,0); }


代码实现(改进数据有记忆性)

bool gametest(int N,int role,int* judge){
if(N==1) {
if(role) return true; else return false; } int temp = sqrt(N),i; for(i=1;i<=temp;i++) {
if(!(N%i)) {
if(!judge[N-i]) return false; if(!role) {
if(gametest(N-i,1,judge)) return true; else judge[N-i] = 0; } else {
if(!gametest(N-i,0,judge)) {
judge[N-i] = 0; return false; } else return true; } } } return false;}bool divisorGame(int N){
int judge[N+2]; memset(judge,1,sizeof(int) * N); return gametest(N,0,&judge); }

转载地址:https://love6.blog.csdn.net/article/details/112793194 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Leetcode 303. 区域和检索 - 数组不可变(DAY 25) ---- 动态规划学习期
下一篇:Leetcode 1402. 做菜顺序(DAY 25 Hard 含题解)----动态规划学习期

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月16日 23时00分06秒