zoukankan      html  css  js  c++  java
  • hdu 1208 记忆化搜索

    题目大意:只能按照格子上的数字*方向走,从左上走到右下
    Sample Input
    4
    2331
    1213
    1231
    3110
    Sample Output
    3

    直接记忆化搜索,注意是0的情况

     1 #include<cstdio>
     2 #include<iostream>
     3 #include<algorithm>
     4 #include<cstring>
     5 #include<cmath>
     6 #include<queue>
     7 #include<map>
     8 using namespace std;
     9 #define MOD 1000000007
    10 const int INF=0x3f3f3f3f;
    11 const double eps=1e-5;
    12 #define cl(a) memset(a,0,sizeof(a))
    13 #define ts printf("*****
    ");
    14 const int MAXN=1005;
    15 int n,m,tt;
    16 long long dp[40][40];
    17 char s[40][40];
    18 int a[40][40];
    19 int d[2][2]={1,0,0,1};
    20 long long dfs(int x,int y)
    21 {
    22     if(dp[x][y]||!a[x][y])    return dp[x][y];
    23     for(int i=0;i<2;i++)
    24     {
    25         int nx=x+d[i][0]*a[x][y];
    26         int ny=y+d[i][1]*a[x][y];
    27         if(nx>=0&&nx<n&&ny>=0&&ny<n)
    28         {
    29             dp[x][y]+=dfs(nx,ny);
    30         }
    31     }
    32     return dp[x][y];
    33 }
    34 int main()
    35 {
    36     int i,j,k;
    37     #ifndef ONLINE_JUDGE
    38     freopen("1.in","r",stdin);
    39     #endif
    40     while(scanf("%d",&n)!=EOF&&n>0)
    41     {
    42         for(i=0;i<n;i++)
    43         {
    44             scanf("%s",s[i]);
    45             for(j=0;j<n;j++)
    46             {
    47                 a[i][j]=s[i][j]-'0';
    48             }
    49         }
    50         memset(dp,0,sizeof(dp));
    51         dp[n-1][n-1]=1;
    52         printf("%I64d
    ",dfs(0,0));
    53     }
    54 }
  • 相关阅读:
    Jenkins安装(一)
    Ansible(一) 安装与简单测试
    zabbix中文乱码
    mysql5.7免密登录
    Zabbix 监控 Nginx 模板
    zabbix通过snmp监控主机
    zabbix5.0+grafana 使用脚本安装
    Eth-trunk配置-LACP模式
    Eth-Trunk配置-手动模式
    文件系统简单理解与实操(ext4)
  • 原文地址:https://www.cnblogs.com/cnblogs321114287/p/4455566.html
Copyright © 2011-2022 走看看