sicily 1274. Pascal's Travels
2011-07-13 23:43
330 查看
/* 题意:在一个N×N的底盘上,每一格有一个非负整数,表示在那一格可以向右或向下走几步。 每次只能向右或向下走,问从左上角的格子走到右下方的格子有多少种不同的方案。 dp[i][j]表示到从左上角(1,1)到(i,j)的方案数 dp[i][j]+=(dp[i][u])+(dp[v][j]),其中 1<=u<j, 1<=v<i, (i,u)能走到(i,j), (v,j)能走到(i,j) */ #include<iostream> //DP #include <cstdio> #include<cstring> using namespace std; char g[40][40]; long long ans[40][40]; //题目要求是64位 int main() { int n; while(cin>>n,n!=-1) { for(int i=1;i<=n;++i) scanf("%s",g[i]+1); memset(ans,0,sizeof(ans)); ans[1][1]=1; for(int i=1;i<=n;++i) for(int j=1;j<=n;++j) { for(int u=1;u<j;++u) if(g[i][u]=='0'+j-u) ans[i][j]+=ans[i][u]; for(int v=1;v<i;++v) if(g[v][j]=='0'+i-v) ans[i][j]+=ans[v][j]; } cout<<ans <<endl; } return 0; }
相关文章推荐
- Sicily 1274. Pascal's Travels
- Sicily 1274. Pascal's Travels
- poj 2704 Pascal's Travels 记忆化dfs或dp
- poj 2704 Pascal's Travels_记忆化搜索
- hdu 1208 Pascal's Travels(dp)
- Pascal's Travels
- soj 1274. Pascal's Travels
- hdu 1208 Pascal's Travels (DP记忆化搜索)
- 1274. Pascal's Travels
- HDU1208:Pascal's Travels(DP)
- pku2704 Pascal's Travels
- [HDU] 1208 Pascal's Travels
- Pascal's Travels
- hdoj 1028/poj 2704 Pascal's Travels(记忆化搜索||dp)
- poj 2704 Pascal's Travels
- POJ 2704(Pascal's Travels-裸dp)
- sicily 1172之水题
- Sicily 1046. Plane Spotting 解题报告
- sicily 1035. DNA matching
- sicily 1001. Fibonacci 2