zoukankan      html  css  js  c++  java
  • LQB2017A01迷宫

    这个题,,,由于dfs是个bool型的,,,在递归的时候,忘记写return

    然后就一直错orz

     1 #include <iostream>
     2 #include <string>
     3 #include <cstring>
     4 
     5 using namespace std;
     6 string a[11];
     7 int ans=0;
     8 
     9 int vis[11][11];
    10 
    11 bool dfs(int i,int j) {
    12     if (i < 0 || j < 0 || i > 9 || j > 9)
    13         return true;
    14     if (vis[i][j] == 1)
    15         return false;
    16 
    17 
    18     vis[i][j] = 1;
    19 
    20     if (a[i][j] == 'U')
    21         return dfs(i - 1, j);//这个地方一定要加return,因为这是一个bool型的
    22 
    23     if (a[i][j] == 'D')
    24         return dfs(i + 1, j);
    25     if (a[i][j] == 'L')
    26         return dfs(i, j - 1);
    27     if (a[i][j] == 'R')
    28         return dfs(i, j + 1);
    29 //    switch(a[i][j]) {//这样也可以
    30 //        case 'U':
    31 //            return dfs(i - 1, j);
    32 //        case 'D':
    33 //            return dfs(i + 1, j);
    34 //        case 'L':
    35 //            return dfs(i, j - 1);
    36 //        case 'R':
    37 //            return dfs(i, j + 1);
    38 //    }

    39 } 40 41 int main() { 42 a[0] = "UDDLUULRUL"; 43 a[1] = "UURLLLRRRU"; 44 a[2] = "RRUURLDLRD"; 45 a[3] = "RUDDDDUUUU"; 46 a[4] = "URUDLLRRUU"; 47 a[5] = "DURLRLDLRL"; 48 a[6] = "ULLURLLRDU"; 49 a[7] = "RDLULLRDDD"; 50 a[8] = "UUDDUDUDLL"; 51 a[9] = "ULRDLUURRR"; 52 for (int i = 0; i < 10; ++i) { 53 for (int j = 0; j < 10; ++j) { 54 memset(vis, 0, sizeof(vis)); 55 if (dfs(i, j)) 56 ans++; 57 58 } 59 60 } 61 cout<<ans; 62 return 0; 63 64 }
  • 相关阅读:
    bzoj 1084: [SCOI2005]最大子矩阵
    Python之深浅拷贝
    2,版本控制git --分支
    1,版本控制git--仓库管理
    python-openpyxl操作excel
    ansible-3
    ansible-2
    ansible-1
    celery
    6,MongoDB 之 Array Object 的特殊操作
  • 原文地址:https://www.cnblogs.com/zhmlzhml/p/13395784.html
Copyright © 2011-2022 走看看