zoukankan      html  css  js  c++  java
  • 简单的暴力搜索

    就是一个国际象棋的棋盘,可以八个方向走,问从起点到终点的最少步数是多少,还给出一个一个点是不可走的,简单的bfs
    #include<stdio.h>
    #include<algorithm>
    #include<iostream>
    #include<string.h>
    #include<queue>
    #include<math.h> 
    using namespace std;
    int vis[10][10];
    int dis[8][2]={-1,-1,-1,0,-1,1,0,-1,0,1,1,-1,1,0,1,1} ;
    struct node
    {
        int x,y,step;
    };
    
    int sx,sy,ex,ey,ix,iy;
    int bfs()
    {
        int ans=0;
        queue<node>q;
        node in,out;
        in.x=sx;
        in.y=sy;
        in.step=0;
        vis[sx][sy]=1; 
        q.push(in);
        while(!q.empty())
        {
            in=q.front();
            q.pop();
            if(in.x==ex&&in.y==ey)
            {
               return  in.step; 
            }
            else
            {
                for(int i=0;i<8;i++)
                { 
                out.x=in.x+dis[i][0];
                out.y=in.y+dis[i][1];
                out.step=in.step;
                if(vis[out.x][out.y]||out.x<1||out.x>8||out.y<1||out.y>8||(out.x==ix&&out.y==iy)) 
                continue;
                else
                {
                    vis[out.x][out.y]=1;
                     out.step++;
                     q.push(out);
                }
               } 
            }
            } 
        //    return out.step;
        }
    int main()
    {
        int t=0;
        while(scanf("%d %d %d %d %d %d",&sx,&sy,&ex,&ey,&ix,&iy)!=EOF)
        {
            memset(vis,0,sizeof(vis));
            printf("Case %d: %d
    ",++t,bfs());
        }
        return 0;
    } 
  • 相关阅读:
    在linux服务器上搭建nvidia-docker环境
    Mysql入门
    POSTMAN关联
    SQL之内连接与外连接
    JMeter线程组参数含义
    JMeter基本概念
    JMeter聚合报告参数含义
    JMeter录制脚本
    Mysql日期与时间类型及函数
    linux服务器上安装mysql
  • 原文地址:https://www.cnblogs.com/NaCl/p/9580170.html
Copyright © 2011-2022 走看看