记忆化搜索。注意当除右下角0外,其余搜索到0则返回。
1 #include2 #include 3 #include 4 #include 5 using namespace std; 6 7 #define MAXN 35 8 char map[MAXN][MAXN]; 9 __int64 visit[MAXN][MAXN];10 11 typedef struct node_st {12 int x, y;13 node_st() {}14 node_st(int xx, int yy) {15 x = xx; y = yy;16 }17 } node_st;18 19 int n;20 21 __int64 dfs(int x, int y) {22 if (map[x][y] == 0)23 return 0;24 if (visit[x][y])25 return visit[x][y];26 // down27 int nx = x+map[x][y];28 int ny = y+map[x][y];29 if (nx>=0 && nx =0 && ny 0) {40 for (i=0; i