zoukankan      html  css  js  c++  java
  • 简单马周游问题1152siicly

    • 典型DFS问题
    • 注意每次新的寻迹都要重新初始化
    • DFS路径不成功要将路径的标记去掉
    • 记得return,递归
      #include<iostream>
      #include<memory.h>
      using namespace std;
      int result[30];
      int a[5][6];
      int flag;
      int count;
      int p[8]={-2,-1,-2,-1,1,2,1,2}; 
      int q[8]={-1,-2, 1, 2,-2,-1,2,1}; 
      void print()
      {
          for(int i=0;i<30;i++)
          cout<<result[i]<<" ";
          cout<<endl;
      }
      bool panduan(int row,int col)
      {
          if(row>=0&&row<=4&&col>=0&&col<=5&&a[row][col]==0)
          return true;
          else
          return false;
      }
      void dfs(int row,int col,int count)
      {
          result[count]=6*row+col+1;
          if(count==29)
          {
              flag=1;
              return;
          }
          else
          {
          for(int i=0;i<8;i++)
          {
              if(panduan(row+p[i],col+q[i]))
              {
                  a[row+p[i]][col+q[i]]=1;
                  dfs(row+p[i],col+q[i],count+1);
              }   
          }
          if(result[count+1]==0)
          {
              a[row][col]=0;
              result[count]=0;
          }   
          return;
          }
      }
      int main()
      {
      
          int n;
          while(cin>>n&&n!=-1)
          {
              int row=(n-1)/6;
              int col=(n-1)%6;
              int count=0;
              flag=0;
              memset(a,0,sizeof(a));
              memset(result,0,sizeof(result));
              a[row][col]=1;
              dfs(row,col,count);
              if(flag==1)
              print();
          }
          return 0;
      }                                 
      

        

  • 相关阅读:
    AAA
    Express4 启航指南
    nodejs 中的 NODE_PATH
    Windows 系统下设置Nodejs NPM全局路径
    C# VS Java
    在windows环境中使用varnish
    各种数据类型对比
    RubyGems 镜像
    npm国内镜像介绍
    WCF 身份验证 通过检查客户端IP
  • 原文地址:https://www.cnblogs.com/xlqtlhx/p/7562308.html
Copyright © 2011-2022 走看看