zoukankan      html  css  js  c++  java
  • TYVJ 1074 武士风度的牛

    这里写图片描述

    easy BFS 注意输入是反的就OK了

    #include <cstdio>
    #include <iostream>
    #include <queue>
    using namespace std;
    int n,m,sx,sy,ex,ey,vis[666][666];
    char a[666][666];
    int xx[]={1,-1,2,-2,1,-1,2,-2},yy[]={2,-2,1,-1,-2,2,-1,1};
    queue<int> q,w;
    int bfs(int x,int y)
    {
        q.push(x);w.push(y);
        while(!q.empty())
        {
            int tempx=q.front(),tempy=w.front();
            q.pop();w.pop();
            for(int i=0;i<=7;i++)
            {
                int dx=tempx+xx[i],dy=tempy+yy[i];
                if(!vis[dx][dy]&&(a[dx][dy]=='.'||a[dx][dy]=='H'))
                {
                    vis[dx][dy]=vis[tempx][tempy]+1;
                    if(dx==ex&&dy==ey) return vis[tempx][tempy]+1;
                    q.push(dx);w.push(dy);
                }
            }
        }
    }
    int main()
    {
        scanf("%d%d",&m,&n);
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=m;j++)
            {
                cin>>a[i][j];
                if(a[i][j]=='K')     {sx=i;sy=j;}
                else if(a[i][j]=='H'){ex=i;ey=j;}
            }
        }
        printf("%d",bfs(sx,sy));
    }
  • 相关阅读:
    网络
    分区
    JavaScript概述
    CSS样式属性
    css选择器
    CSS的引入方式
    css介绍
    HTML结构
    常用标签
    HTML介绍
  • 原文地址:https://www.cnblogs.com/SiriusRen/p/5831195.html
Copyright © 2011-2022 走看看