乌龟棋【黄金题】【动态规划】

http://codevs.cn/problem/1068/

我的思路是由len推导len+1层。

因为计算m个卡片最大值,需要知道m-1个卡片的最大值。(不知道网上其他人的算法是怎么理解的,感觉自己的算法很耗时间)

#include
using namespace std;
int dp[41][41][41][41];
int a[351]; 
int n,m,t;
int mi=0,mj=0,mk=0,ml=0;
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	int mt=m;
	while(mt--){
		cin>>t;
		if(t==1){
			++mi;
		}else if(t==2){
			++mj;
		}else if(t==3){
			++mk;
		}else if(t==4){
			++ml;
		}
	}
	for(int len=0;len<=m;len++){
	//	cout<<"-----------------------"<

 

 

你可能感兴趣的:(#)