乌龟棋

news/2025/2/13 20:37:14/

1. 子问题描述:用dp[i][j][x][y表示当4种卡片剩余量分别是i,j,x,y 的时候,获得的最大积分。(设4种卡片总量分别为a,b,c,d

2. 状态迁移方程:dp[i][j][x][y]=max(dp[i+1][j][x][y], dp[i][j+1][x][y], dp[i][j][x+1][y], dp[i][j][x][y+1])+ chess[(a-i)+(b-j)*2+(c-x)*3+(d-y)*4+1]

做这种题目,最好都用剩余量入手,循环从剩余量为满的时候开始

#include<iostream>
#include<string.h>
#include<algorithm>
using namespace std;
int n,m,Chess[400],dp[45][45][45][45],a,b,c,d;
int main(){while(cin>>n>>m){memset(dp,0,sizeof(dp));for(int i=1;i<=n;i++) cin>>Chess[i];a=b=c=d=0;for(int i=1;i<=m;i++){int x;cin>>x;if(x==1) a++;else if(x==2) b++;else if(x==3) c++;else if(x==4) d++;}dp[a][b][c][d]=Chess[1];for(int i=a;i>=0;i--){for(int j=b;j>=0;j--){for(int x=c;x>=0;x--){for(int y=d;y>=0;y--){int z=Chess[1+(a-i)+2*(b-j)+3*(c-x)+4*(d-y)];if(i!=a) dp[i][j][x][y]=max(dp[i][j][x][y],dp[i+1][j][x][y]+z);if(j!=b) dp[i][j][x][y]=max(dp[i][j][x][y],dp[i][j+1][x][y]+z);if(x!=c) dp[i][j][x][y]=max(dp[i][j][x][y],dp[i][j][x+1][y]+z);if(y!=d) dp[i][j][x][y]=max(dp[i][j][x][y],dp[i][j][x][y+1]+z);}}}}cout<<dp[0][0][0][0]<<endl;}return 0;
}



http://www.ppmy.cn/news/856361.html

相关文章

捉乌龟的游戏

甲乙二人玩捉乌龟的游戏&#xff0c;先将一付54张扑克牌&#xff08;27对&#xff09;藏起一张&#xff0c;于是剩下的牌中必有一张没有对子&#xff0c;称为“乌龟”&#xff0c;再将牌分给两个人&#xff0c;每个人将自己手中的对子全部扔掉&#xff0c;这时你能否根据两人手…

小乌龟 检出项目代码

1 SVN Checkout: 不脱离svn导出代码(桌面右键) 不能拷贝给其他人 注&#xff1a;导出位置最后要加上\ 2 TortoiseSVN-->Export: 脱离svn导出代码(桌面右键) 导出的代码可以直接导入eclipse中 转载于:https://www.cnblogs.com/Alan0218/articles/8466847.html

【开发环境搭建之Gitee+小乌龟】

Gitee代码托管小乌龟可视化界面加小乌龟汉化 第一步 下载资源 点击下载【Gitee小乌龟】 第二步 安装软件GItee 资源下载后解压&#xff0c;双击打开Git-2.33.0.2-64-bit.exe&#xff0c;然后无脑下一步&#xff0c;下一步&#xff0c;安装就可以了。可以改下安装路径&#…

认识一下小龟机器人主控板

简要 小龟机器人主控板采用乐鑫ESP32处理器&#xff0c;总共有23组可控制管脚&#xff0c;所以最多支持23个舵机、4个电机、10根可输入输出编程管脚、23根管脚全部支持输出控制。 正面插口说明 电源区 5V电源插口 由两枚2.54mm排针组成&#xff0c;需要使用5V电源的传感器模…

NOIP201006乌龟棋 题解

NOIP201006乌龟棋 题解 题目链接字面描述题目背景题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示 思路状态定义状态转移方程状态初始化 代码实现 题目 链接 https://www.luogu.com.cn/problem/P1541 字面描述 题目背景 小明过生日的时候&#xff0c;爸爸送给…

巴西龟饲养日志----巴西龟成长标志

养了半年巴西龟&#xff0c;从刚出壳到长到如今这么大&#xff0c;确实不容易,阵亡了四只&#xff0c;毕竟是要交学费的&#xff0c;目前还有9只&#xff0c;状态还不错。 养了这么久&#xff0c;龟长这么大&#xff0c;突然就发现巴西龟成长的标志了。 首先最能发现的地方就…

Tortoisegit小乌龟如何设置中文

Tortoisegit &#xff08;小乌龟如何设置中文&#xff09; 小乌龟官网下载地址&#xff1a;https://tortoisegit.org/download/ 点击跳转官网下载 点击下载安装&#xff1a; 小乌龟安装完成后默认是英文的需要下载补丁才能变成中文 下载界面下拉找到语言包、 点击下载安装 右…

关于小乌龟的使用

1、建立分支 1、在trunks上点击右键&#xff0c;在TortoiseSVN菜单中选择Branch/Tag&#xff1b; 2、在To path输入框中输入新建分支的路径&#xff0c;一般是&#xff1a;/branches/分支名&#xff0c;也就是相当于分支保存的路径名&#xff1b; 3、在下面选择HEAD revision i…