• poj3050


    #include<stdio.h>
    int map[5][5]={ 1,1,1,1,1,
        1,1,1,1,1,
        1,1,1,1,1,
        1,1,1,2,1,
        1,1,1,1,1,};
    int vist[3][3][3][3][3][3]={0};
    int vmap[5][5]={0};
    int data[10]={0};
    int bu[6]={0};
    int mov1[4]={1,-1,0,0};
    int mov2[4]={0,0,1,-1};
    int count=0;
    void go(int step,int x,int y)
    {
     int nx;
     int ny;
     if(step==6)
     {
      if(!vist[bu[0]][bu[1]][bu[2]][bu[3]][bu[4]][bu[5]])
      {
       vist[bu[0]][bu[1]][bu[2]][bu[3]][bu[4]][bu[5]]=1;
       count++;
      }
      return;
     }
     for(int i=0;i<4;i++)
     {
      nx=x+mov1[i];
      ny=y+mov2[i];
      if(nx>=0&&nx<5&&ny>=0&&ny<5)
      {
       bu[step]=map[nx][ny];
       go(step+1,nx,ny);
      }
     }
    }
    int main()
    {
     for(int i=0;i<5;i++)
     {
      for(int j=0;j<5;j++)
      {
       go(0,i,j);
      }
     }
     
     printf("%d",count);
     return 0;
    }

  • 相关阅读:
    大数板子
    数位dp
    BM算法
    牛客小白月赛7
    划分树
    可持久化线段树
    素数
    一些数学公式
    线性基
    ConcurrentHashMap 并发HashMap原理分析
  • 原文地址:https://www.cnblogs.com/452035305qq/p/6169850.html
Copyright © 2020-2023  润新知