hdu 1978

地址:http://acm.hdu.edu.cn/showproblem.php?pid=1978

题意:中文。

mark:水题。可以dfs搞,也可以dp搞,此处是dp。写错下标wa了1次,忘记删调试信息ole一次。太2了。

代码:

 1 # include <stdio.h>
 2 
 3 
 4 # define MOD 10000
 5 
 6 
 7 int a[110][110], dp[110][110] ;
 8 int n, m ;
 9 
10 
11 int calc(int x, int y)
12 {
13     int i, j, rtn = 0 ;
14     if (x == n-1 && y == m-1) return 1 ;
15     for (i = 0 ; i <= a[x][y] && i+x < n ; i ++)
16     {
17         for (j = 0 ; j <= a[x][y] - i && j+y < m ; j++)
18         {
19             if (i == 0 && j == 0) continue ;
20             rtn = (rtn + dp[x+i][y+j]) % MOD ; ;
21         }
22     }
23     return rtn ;
24 }
25 
26 
27 int main ()
28 {
29     int T, i, j ;
30     scanf ("%d", &T) ;
31     while (T--)
32     {
33         scanf ("%d%d", &n, &m) ;
34         for (i = 0 ; i < n ; i++)
35             for (j = 0 ; j < m ; j++)
36                 scanf ("%d", &a[i][j]) ;
37         for (i = n-1 ; i >= 0 ; i --)
38             for (j = m - 1 ; j >= 0 ; j--)
39                 dp[i][j] = calc(i,j) ;
40         printf ("%d\n", dp[0][0]) ;
41     }
42     return 0 ;
43 }
posted @ 2012-05-03 04:45  Seraph2012  阅读(258)  评论(0编辑  收藏  举报