国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

找朋友

2019-11-08 18:23:53
字體:
供稿:網(wǎng)友

建議使用字符數(shù)組去建立矩陣,不要用int類型的,容易wrong answer

PRoblem Description

X,作為戶外運(yùn)動的忠實(shí)愛好者,總是不想呆在家里?,F(xiàn)在,他想把死宅Y從家里拉出來。問從X的家到Y(jié)的家的最短時間是多少。為了簡化問題,我們把地圖抽象為n*m的矩陣,行編號從上到下為1 到 n,列編號從左到右為1 到 m。矩陣中’X’表示X所在的初始坐標(biāo),’Y’表示Y的位置 , ’#’表示當(dāng)前位置不能走,’ * ’表示當(dāng)前位置可以通行。X每次只能向上下左右的相鄰的 ’*’ 移動,每移動一次耗時1秒。

Input

多組輸入。每組測試數(shù)據(jù)首先輸入兩個整數(shù)n,m(1<= n ,m<=15 )表示地圖大小。接下來的n 行,每行m個字符。保證輸入數(shù)據(jù)合法。

Output

若X可以到達(dá)Y的家,輸出最少時間,否則輸出 -1。

Example Input

3 3X#Y***#*#3 3X#Y*#*#*#

Example Output

4
-1
 
#include<stdio.h>#include<string.h>#include<stdlib.h>#define maxn 20typedef struct node{    int x;    int y;}queue;char df[maxn][maxn];int book[maxn][maxn];queue q[404];int num[maxn][maxn];int n,m,a,b,flag;int front,rear;int bfs(int x,int y){    int i,tx,ty,k;    int xx,yy;    int next[4][2]={{-1,0},{0,1},{1,0},{0,-1}};    book[x][y]=1;    rear++;    q[rear].x=x;    q[rear].y=y;    num[x][y]=0;    while(front!=rear)    {        front++;        xx=q[front].x;        yy=q[front].y;        if(df[xx][yy]=='Y')        {            return num[xx][yy];        }        for(i=0;i<4;i++)        {            tx=xx+next[i][0];            ty=yy+next[i][1];            if(tx<0||tx>=n||ty<0||ty>=m)                continue;            if(df[tx][ty]!='#'&&book[tx][ty]==0)            {                book[tx][ty]=1;                rear++;                q[rear].x=tx;                q[rear].y=ty;                num[tx][ty]=num[xx][yy]+1;            }        }    }    return -1;}int main(){    int i,j,u,v;    while(scanf("%d%d",&n,&m)!=EOF)    {        flag=front=rear=0;        memset(book,0,sizeof(book));        memset(num,0,sizeof(num));        for(i=0;i<n;i++)        {            scanf("%s",df[i]);        }        for(i=0;i<n;i++)        {            for(j=0;j<m;j++)            {                if(df[i][j]=='X')                {                    u=i;                    v=j;                    break;                }            }            if(j!=m)                break;        }        flag=bfs(u,v);        printf("%d/n",flag);    }    return 0;}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 阿拉善左旗| 阆中市| 潢川县| 香港 | 台南市| 封开县| 遵义市| 松溪县| 咸丰县| 洛扎县| 油尖旺区| 阿合奇县| 连云港市| 会泽县| 南乐县| 砚山县| 安平县| 西青区| 谢通门县| 克拉玛依市| 大石桥市| 海晏县| 阿拉善右旗| 昌乐县| 盐亭县| 美姑县| 抚顺县| 沙河市| 普兰县| 额济纳旗| 大城县| 进贤县| 类乌齐县| 巴中市| 鲁甸县| 游戏| 涟源市| 娄烦县| 古蔺县| 青海省| 昔阳县|