hdu1978(记忆化搜索)
#include<iostream> #include<stdio.h> #include<string.h> #include<queue> using namespace std; int n,m; int a[200][200],dp[200][200]; int dfs(int x,int y) { int ans=0,sum=0; if(dp[x][y]) return dp[x][y]; sum=a[x][y]; for(int i=0;i<=sum;i++) { for(int j=0;j+i<=sum;j++) { if(i==0&&j==0) continue; if(0<x+i&&x+i<=n&&y+j<=m&&y+j>0) { int xx=x+i; int yy=y+j; ans=(ans%10000+dfs(xx,yy)%10000)%10000; } } } dp[x][y]=ans; return dp[x][y]%10000; } int main() { int text; scanf("%d",&text); while(text--) { scanf("%d%d",&n,&m); memset(dp,0,sizeof(dp)); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) scanf("%d",&a[i][j]); memset(dp,0,sizeof(dp)); dp[n][m]=1; printf("%d\n",dfs(1,1)); } return 0; }
朋友们,虽然这个世界日益浮躁起来,只要能够为了当时纯粹的梦想和感动坚持努力下去,不管其它人怎么样,我们也能够保持自己的本色走下去。