zoukankan      html  css  js  c++  java
  • 跳马~~~HDU1372

    基础BFS,水过就好~手写队列优化~~

    #include <iostream>
    #include <stdio.h>
    #include <string.h>
    #include <stack>
    #include <queue>
    #include <map>
    #include <set>
    #include <vector>
    #include <math.h>
    #include <algorithm>
    using namespace std;
    #define LL long long
    #define INF 0x3f3f3f3f
    const double pi = acos(-1.0);
    const int mod =9973;
    
    const int N =1e1+10;
    
    struct asd{
        int x,y;
        int step;
    };
    asd no,ne;
    asd q[N*N];
    int sx,sy,ex,ey;
    int dx[8]={-1,-1,-2,-2,1,1,2,2};
    int dy[8]={2,-2,1,-1,-2,2,-1,1};
    bool vis[N][N];
    
    
    
    int BFS()
    {
        memset(vis,0,sizeof(vis));
        int head,tail;
        head=0;
        tail=1;
        q[head].x=sx;
        q[head].y=sy;
        vis[sx][sy]=1;
        while(head<tail)
        {
            int ax=q[head].x;
            int ay=q[head].y;
            if(ax==ex&&ay==ey)
                return q[head].step; 
            for(int i=0;i<8;i++)
            {
                int aa=dx[i]+ax;
                int bb=dy[i]+ay;
                if(aa<0||aa>7||bb<0||bb>7||vis[aa][bb])
                    continue;
                vis[aa][bb]=1;
                q[tail].x=aa;
                q[tail].y=bb;
                q[tail].step=q[head].step+1;
                tail++;
            }
            head++;
        }
    }
    
    int main()
    {
        char a[5],b[5];
        while(~scanf("%s%s",a,b))
        {
            memset(vis,0,sizeof(vis));
            sx=a[0]-'a';
            sy=a[1]-'0'-1;
            ex=b[0]-'a';
            ey=b[1]-'0'-1;
            int qq;
            qq=BFS();
            printf("To get from %s to %s takes %d knight moves.
    ",a,b,qq);
        }
        return 0;
    }
  • 相关阅读:
    一个改写MBR的例子
    explore没有桌面
    Guidance of Set up FTP Server
    重启远程机器(不登录远程机器下的重启)
    Eclipse 一些小知识
    check time period
    Scrum 冲刺——Day 1
    Scrum 冲刺——Day 2
    初学C语言
    CSS选择器
  • 原文地址:https://www.cnblogs.com/keyboarder-zsq/p/5934484.html
Copyright © 2011-2022 走看看