soj 1274. Pascal's Travels
2013-01-05 20:11
274 查看
题意:
有一个N*N的棋盘,每个格子里面写了一个数字(‘0’~‘9’),最开始你在左上角,你要到达右下角,你只能向下走或者向右走,并且走的步数只能是格子里面的数字。问有多少种方法。
思路:
深搜肯定超时,由于只能向右走或者向下走,所以可以递推,注意long long。
代码:
有一个N*N的棋盘,每个格子里面写了一个数字(‘0’~‘9’),最开始你在左上角,你要到达右下角,你只能向下走或者向右走,并且走的步数只能是格子里面的数字。问有多少种方法。
思路:
深搜肯定超时,由于只能向右走或者向下走,所以可以递推,注意long long。
代码:
#include <cstdio> #include <cstring> #define N 35 char data ; int n, x, y; long long f ; void calc() { memset(f, 0, sizeof(f)); f[0][0] = 1; for (int i = 0; i < n; ++ i) { for (int j = 0; j < n; ++ j) { if (data[i][j] == '0') continue; x = i + data[i][j] - '0'; y = j; if (x < n && y < n) f[x][y] += f[i][j]; x = i; y = j + data[i][j] - '0'; if (x < n && y < n) f[x][y] += f[i][j]; } } } int main() { while (scanf("%d", &n) && n > 0) { for (int i = 0; i < n; ++ i) scanf("%s", data[i]); calc(); printf("%lld\n", f[n-1][n-1]); } }
相关文章推荐
- 1274. Pascal's Travels
- Sicily 1274. Pascal's Travels
- poj 2704 Pascal's Travels 动态规划
- HDU1208:Pascal's Travels(DP)
- poj 2704 Pascal's Travels_记忆化搜索
- Pascal's Travels (HDU 1208)
- HDU 1208 Pascal's Travels(dp)
- hdoj 1028/poj 2704 Pascal's Travels(记忆化搜索||dp)
- hdu 1208 Pascal's Travels
- POJ2704 Pascal's Travels (记忆化DP)
- BIT1021 Pascal's Travels
- hdu 1208 Pascal's Travels (子状态继承dp)
- POJ 2704 Pascal's Travels (基础记忆化搜索)
- POJ 2704(Pascal's Travels-裸dp)
- pku 2704 Pascal's Travels
- hdu1208 Pascal's Travels
- hdu 1208 Pascal's Travels (DP记忆化搜索)
- hdoj1208_Pascal's Travels(dp)
- leetcode:Pascal's Triangle II 【Java】
- Pascal's Triangle