最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

dfs深度優(yōu)先搜索-象棋走馬步

2022-11-23 20:31 作者:新新無所畏懼  | 我要投稿


題目
樣例輸入輸出

解題思路:

dfs深搜,對馬可以走的八個方向用一個dir[4][2]的數(shù)組存儲,然后再依次深搜,如果可以走到就返回true,否則返回false;然后回溯上一個節(jié)點,直到看是否有沒有走到終點‘T’,如果有,就f=true,否則就沒有false;

代碼:

#include<iostream>

#include<stdio.h>

#include<stdlib.h>

using namespace std;

#include<string.h>?

char s[10][10];

bool f;

bool vis[10][10];

int dir[8][2]={{2,1},{1,2},{-1,2},{-2,1},{-2,-1},{-1,-2},{1,-2},{2,-1}};

bool in(int x,int y){

return 0<=x&&x<10&&0<=y&&y<9;

}

void dfs(int x,int y){

vis[x][y]=true;

if(f){

return;

}

if(s[x][y]=='T'){

f=true;

return;

}

for(int i=0;i<10;i++){

int tx=x+dir[i][0];

int ty=y+dir[i][1];

if(in(tx,ty)&&s[tx][ty]!='#'&&!vis[tx][ty]){

dfs(tx,ty);

}

}

}


int main(){

int x,y;

for(int i=0;i<10;i++){

scanf("%s",s[i]);

}

for(int i=0;i<10;i++){

for(int j=0;j<10;j++){

if(s[i][j]=='S'){

x=i;

y=j;

}

}

}

dfs(x,y);

if(f){

cout<<"Yes"<<endl;

}

else{

cout<<"No"<<endl;

}

return 0;

}


dfs深度優(yōu)先搜索-象棋走馬步的評論 (共 條)

分享到微博請遵守國家法律
巴中市| 通辽市| 崇州市| 海安县| 富裕县| 改则县| 红安县| 昭通市| 城口县| 桦南县| 定陶县| 洪洞县| 宁国市| 海门市| 台南市| 新化县| 宁远县| 吴忠市| 奈曼旗| 龙江县| 依兰县| 阜城县| 北流市| 隆子县| 明星| 炎陵县| 临西县| 若尔盖县| 庆城县| 黄平县| 锡林郭勒盟| 龙胜| 株洲县| 天峨县| 张家口市| 大城县| 临泉县| 永新县| 潼关县| 鸡东县| 富阳市|