栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 3170 Knights of Ni

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 3170 Knights of Ni

#include<cstdio>#include<cstring>#include<iostream>#include<cstdlib>#include<vector>#include<queue>#define ULL unsigned long long#define LL long long#define INF 0x7fffffff#define MAXN 1000+3using namespace std;int start,aim;int w,h,G[MAXN][MAXN];int dshru[MAXN][MAXN],daim[MAXN][MAXN];int mov[4][2]= {{0,1},{0,-1},{-1,0},{1,0}};bool vis[MAXN][MAXN];void bfs1(int x,int y){    int u=x*w+y;    vis[x][y]=true;    queue<int>q;    q.push(u);    while(!q.empty())    {        u=q.front();        q.pop();        x=u/w;        y=u%w;        for(int i=0; i<4; i++)        { int dx=x+mov[i][0]; int dy=y+mov[i][1]; if(dx>=0&&dx<h&&dy>=0&&dy<w&&G[dx][dy]!=1&&!vis[dx][dy]) {     int v=dx*w+dy;     q.push(v);     vis[dx][dy]=true;     dshru[dx][dy]=dshru[x][y]+1; }        }    }}void bfs2(int x,int y){    int u=x*w+y;    vis[x][y]=true;    queue<int>q;    q.push(u);    while(!q.empty())    {        u=q.front();        q.pop();        x=u/w;        y=u%w;        for(int i=0; i<4; i++)        { int dx=x+mov[i][0]; int dy=y+mov[i][1]; if(dx>=0&&dx<h&&dy>=0&&dy<w&&G[dx][dy]!=1&&!vis[dx][dy]) {     int v=dx*w+dy;     q.push(v);     vis[dx][dy]=true;     daim[dx][dy]=daim[x][y]+1; }        }    }}int main(){    scanf("%d%d",&w,&h);    for(int i=0; i<h; i++)    {        for(int j=0; j<w; j++)        { scanf("%d",&G[i][j]); dshru[i][j]=100000; daim[i][j]=100000; if(G[i][j]==2)     start=i*w+j; else  if(G[i][j]==3)     aim=i*w+j;        }    }    memset(vis,false,sizeof(vis));    dshru[start/w][start%w]=0;    bfs1(start/w,start%w);    memset(vis,false,sizeof(vis));    daim[aim/w][aim%w]=0;    bfs2(aim/w,aim%w);    int _min=INF;    for(int i=0; i<h; i++)    {        for(int j=0; j<w; j++) if(G[i][j]==4)     _min=min(_min,dshru[i][j]+daim[i][j]);    }    printf("%dn",_min);    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/368338.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号