内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

C語言如何實(shí)現(xiàn)走迷宮-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!

成都創(chuàng)新互聯(lián)主打移動(dòng)網(wǎng)站、網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站改版、網(wǎng)絡(luò)推廣、網(wǎng)站維護(hù)、域名與空間、等互聯(lián)網(wǎng)信息服務(wù),為各行業(yè)提供服務(wù)。在技術(shù)實(shí)力的保障下,我們?yōu)榭蛻舫兄Z穩(wěn)定,放心的服務(wù),根據(jù)網(wǎng)站的內(nèi)容與功能再?zèng)Q定采用什么樣的設(shè)計(jì)。最后,要實(shí)現(xiàn)符合網(wǎng)站需求的內(nèi)容、功能與設(shè)計(jì),我們還會(huì)規(guī)劃穩(wěn)定安全的技術(shù)方案做保障。

小編這次要給大家分享的是C語言如何實(shí)現(xiàn)走迷宮,文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

描述

給一張個(gè)迷宮,問能否從起點(diǎn)走到終點(diǎn),只能往上下左右走,不能斜著走

輸入

多組測(cè)試數(shù)據(jù),每組第一行兩個(gè)正整數(shù),分別為n和m

表示n這個(gè)迷宮有n行m列(0<n,m<10)

接著是n行m列,

'#'表示路

‘*'表示墻

‘S'表示起點(diǎn)

‘T'表示終點(diǎn)

輸出

每組測(cè)試數(shù)據(jù)輸出一個(gè)結(jié)果,如果能從S走到T,輸出“YES”,否則輸出“NO”

輸入樣例:

2 2
S*
#T
3 3
S*#
#T
##

輸出樣例:

YES
NO

有兩種方法可以解決這個(gè)問題

第一種深度優(yōu)先搜索:站在入口,考慮自己下一步可以走哪里,走到下一個(gè)位置后,再考慮下一步怎么走,一直走下去,直到?jīng)]有路,然后再返回最近的一個(gè)岔路口,選其它任一條沒試過的路,如果不能走,再嘗試其他的路,直到這個(gè)岔路口的路全部試完,再回到上一個(gè)路口,看是否能走到出口,相當(dāng)于一條路走到黑

#include<bits/stdc++.h>

using namespace std;
char a[20][20];   //存儲(chǔ)迷宮字符數(shù)組
int flag,m,n;
int sdep_x[4]={-1,1,0,0},sdep_y[4]={0,0,-1,1};//控制上下左右方向
int vis[20][20];  //標(biāo)記走過的路
void dfs(int x,int y)
{
  vis[x][y]=1;  //代表被標(biāo)記過了
  if(a[x][y]=='T') //找到出口
  {
    flag=1;
    return;
  }
    for(int i=0;i<4;i++) //搜索路徑
    {
      int h=x+sdep_x[i];
      int l=y+sdep_y[i];
      if(a[h][l]!='*'&&!vis[h][l]&&h>=0&&h<n&&l>=0&&l<m)//搜索路徑的條件
      {
        dfs(h,l);
      }
    }
}

int main()
{
  while(cin>>n>>m)
  {
    memset(vis,0,sizeof(vis));//初始化數(shù)組
    flag=0;
    int f,g;
    for(int i=0;i<n;i++)
      for(int j=0;j<m;j++) 
        cin>>a[i][j];
    for(int i=0;i<n;i++)
      for(int j=0;j<m;j++)
      {
        if(a[i][j]=='S')//先找到路口
        {
          f=i;
          g=j;
        }
      }
    dfs(f,g);
    if(flag)
      cout<<"YES"<<endl;
    else
      cout<<"NO"<<endl;
  }
  return 0;
}

當(dāng)前標(biāo)題:C語言如何實(shí)現(xiàn)走迷宮-創(chuàng)新互聯(lián)
當(dāng)前地址:http://m.rwnh.cn/article28/iehjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、標(biāo)簽優(yōu)化、網(wǎng)站維護(hù)建站公司、網(wǎng)站營銷、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
兴城市| 上饶市| 行唐县| 肇州县| 上林县| 黑山县| 新兴县| 天等县| 新疆| 冷水江市| 青海省| 舒兰市| 北流市| 轮台县| 肇州县| 九龙坡区| 庄河市| 瑞金市| 镇赉县| 墨玉县| 纳雍县| 兴化市| 郸城县| 清水河县| 巩义市| 昆明市| 望城县| 威海市| 正镶白旗| 江阴市| 灌阳县| 扎赉特旗| 友谊县| 紫阳县| 宁陵县| 嘉义市| 陆良县| 乌什县| 六安市| 灌南县| 洪洞县|