hdu 1208 Pascal's Travels

来源:互联网 发布:在淘宝网上买东西 编辑:程序博客网 时间:2024/06/06 09:50

简单dp

dp[i][j]:到map[i][j]的步数

 

 

 

#include<stdio.h>#include<string.h>__int64 dp[40][40];int map[40][40];int main(){int i,j,n;char s[40];while(scanf("%d",&n),n>0){for(i=0;i<n;i++){scanf("%s",s);for(j=0;j<n;j++)map[i][j]=s[j]-'0';}memset(dp,0,sizeof(dp));dp[0][0]=1;for(i=0;i<n;i++)for(j=0;j<n;j++){if(map[i][j]==0||dp[i][j]==0)continue;if(i+map[i][j]<n)dp[i+map[i][j]][j]+=dp[i][j];if(j+map[i][j]<n)dp[i][j+map[i][j]]+=dp[i][j];}printf("%I64d\n",dp[n-1][n-1]);/*for(i=0;i<n;i++){for(j=0;j<n;j++)   printf("%d ",dp[i][j]);printf("\n");}*/}return 0;}