hdu 1978 記憶化DFS搜尋)

2022-09-07 11:48:10 字數 1237 閱讀 2341

time limit: 3000/1000 ms (j**a/others)    memory limit: 32768/32768 k (j**a/others)

total submission(s): 1983    accepted submission(s):

1213

problem description

這是乙個簡單的生存遊戲,你控制乙個機械人從乙個棋盤的起始點(1,1)走到棋盤的終點(n,m)。遊戲的規則描述如下:

1.機械人一開始在棋盤的起始點並有起始點所標有的能量。

2.機械人只能向右或者向下走,並且每走一步消耗一單位能量。

3.機械人不能在原地停留。

4.當機械人選擇了一條可行路徑後,當他走到這條路徑的終點時,他將只有終點所標記的能量。

如上圖,機械人一開始在(1,1)點,並擁有4單位能量,藍色方塊表示他所能到達的點,如果他在這次路徑選擇中選擇的終點是(2,4)

點,當他到達(2,4)點時將擁有1單位的能量,並開始下一次路徑選擇,直到到達(6,6)點。

我們的問題是機械人有多少種方式從起點走到終點。這可能是乙個很大的數,輸出的結果對10000取模。

input

第一行輸入乙個整數t,表示資料的組數。

對於每一組資料第一行輸入兩個整數n,m(1 <= n,m

<= 100)。表示棋盤的大小。接下來輸入n行,每行m個整數e(0 <= e < 20)。

output

對於每一組資料輸出方式總數對10000取模的結果.

sample input

16 6

4 5 6 6 4 3

2 2 3 1 7 2

1 1 4 6 2 7

5 8 4 3 9 5

7 6 6 2 1 5

3 1 1 3 7 2

sample output

3948

**:#include

#include

int map[130][130];

int visit[130][130];

int n,m;

int dfs( int x ,int y )

}visit[x][y] = sum;

return sum;

}int main( )

}

HDU1978 記憶化搜尋

how many ways problem description 這是乙個簡單的生存遊戲,你控制乙個機械人從乙個棋盤的起始點 1,1 走到棋盤的終點 n,m 遊戲的規則描述如下 1.機械人一開始在棋盤的起始點並有起始點所標有的能量。2.機械人只能向右或者向下走,並且每走一步消耗一單位能量。3.機械...

Hdu 1978(記憶化搜尋)

hdu 1978 思路 根據a i j 表示最多能走的步數,所以列舉向下走的步數x,向右走的步數y,然後用num i j 記錄走過的路徑的個數,搜尋每次走到的地方就好了。include include includeusing namespace std typedef long long ll c...

hdu1978動態規劃

還算比較好理解的動態規劃 題意 這是乙個簡單的生存遊戲,你控制乙個機械人從乙個棋盤的起始點 1,1 走到棋盤的終點 n,m 遊戲的規則描述如下 1.機械人一開始在棋盤的起始點並有起始點所標有的能量。2.機械人只能向右或者向下走,並且每走一步消耗一單位能量。3.機械人不能在原地停留。4.當機械人選擇了...