• hdu 1978 How many ways(DP)


    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1978

    思路:从右到左、从下到上递推。

    设dp[i][j]为dp[i0][j0]可达的点,则dp[i0][j0] += dp[i][j]; 

     PS:每个点可达的区域都是一个三角形,如图:

     

     1 #include <cstdio>
     2 #include <cstring>
     3 #define N 105
     4 
     5 int a[N][N], dp[N][N];
     6 
     7 int main()
     8 {
     9     int n, m, t;
    10     scanf("%d",&t);
    11     while(t--)
    12     {
    13         scanf("%d%d",&n,&m);
    14         for(int i=1; i<=n; i++)
    15             for(int j=1; j<=m; j++)
    16                 scanf("%d",&a[i][j]);
    17         memset(dp, 0sizeof(dp));
    18         dp[n][m] = 1;
    19         for(int i=n; i>=1; i--)
    20         {
    21             for(int j=m; j>=1; j--)
    22             {
    23                 for(int ii=i; ii<=i+a[i][j] && ii<=n; ii++)
    24                 {
    25                     for(int jj=j; jj-j+ii-i<=a[i][j] && jj<=m; jj++)
    26                     {
    27                         if(ii==i && jj==j) continue;
    28                         dp[i][j] = (dp[i][j] + dp[ii][jj])%10000;
    29                     }
    30                 }
    31             }
    32         }
    33         printf("%d ",dp[1][1]);
    34     }
    35     return 0;
    36 }
    View Code 
  • 相关阅读:
    js中return;、return true、return false;区别
    JS跨域设置和取Cookie
    检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(转)
    IIS7中Ajax.AjaxMethod无效的原因及解决方法
    ajax 跨域的问题 用js绕过跨域
    微服务笔记
    smali语法笔记
    Go Micro 入门笔记
    介绍微服务框架Micro笔记
    JS任务队列--笔记
  • 原文地址:https://www.cnblogs.com/byluoluo/p/3525152.html
Copyright © 2020-2023  润新知