蓝桥杯 算法练习 传球游戏

来源:互联网 发布:小米手机淘宝商城 编辑:程序博客网 时间:2024/06/05 00:20

这个题目是个dp问题,找到dp状态转移方程就好写了,其实我找到了,,但是第一次写的时候没有把它用数学公式总结好,很难受

然后总结好就过了,满分代码如下,网上也有题解我看了,不过我觉得没有我写的直白,,所以我还是贴一手我的代码吧


满分代码如下


#include <iostream>#include <memory.h> #define N 31#define M 31using namespace std;int n,m;long int dp[M][N];int main(){memset(dp,0,sizeof(dp));cin>>n>>m;dp[1][2]=1;dp[1][n]=1;for(int i=2;i<=m;i++){for(int j=1;j<=n;j++){if(j==1){dp[i][j]=dp[i-1][j+1]+dp[i-1][n];}else if(j==n)dp[i][j]=dp[i-1][j-1]+dp[i-1][1];else dp[i][j]=dp[i-1][j-1]+dp[i-1][j+1];}}cout<<dp[m][1];return 0; } 


其实感觉dp和搜索很像,就是一个减少了大量冗余的搜索

原创粉丝点击