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

首頁 > 學院 > 開發設計 > 正文

nyoj58 最少步數(dfs)

2019-11-08 02:27:52
字體:
來源:轉載
供稿:網友
時間限制:3000 ms  |  內存限制:65535 KB難度:4描述

這有一個迷宮,有0~8行和0~8列:

 1,1,1,1,1,1,1,1,1 1,0,0,1,0,0,1,0,1 1,0,0,1,1,0,0,0,1 1,0,1,0,1,1,0,1,1 1,0,0,0,0,1,0,0,1 1,1,0,1,0,1,0,0,1 1,1,0,1,0,1,0,0,1 1,1,0,1,0,0,0,0,1 1,1,1,1,1,1,1,1,1

0表示道路,1表示墻。

現在輸入一個道路的坐標作為起點,再如輸入一個道路的坐標作為終點,問最少走幾步才能從起點到達終點?

(注:一步是指從一坐標點走到其上下左右相鄰坐標點,如:從(3,1)到(4,1)。)

輸入第一行輸入一個整數n(0<n<=100),表示有n組測試數據;隨后n行,每行有四個整數a,b,c,d(0<=a,b,c,d<=8)分別表示起點的行、列,終點的行、列。輸出輸出最少走幾步。樣例輸入
23 1  5 73 1  6 7樣例輸出
1211
  #include <stdio.h>int s1,s2,min,e1,e2;int a[9][9]={   1,1,1,1,1,1,1,1,1, 1,0,0,1,0,0,1,0,1, 1,0,0,1,1,0,0,0,1, 1,0,1,0,1,1,0,1,1, 1,0,0,0,0,1,0,0,1, 1,1,0,1,0,1,0,0,1, 1,1,0,1,0,1,0,0,1, 1,1,0,1,0,0,0,0,1, 1,1,1,1,1,1,1,1,1};void dfs(int s1,int s2,int step){	if(s1<0||s1>8||s2<0||s2>8||a[s1][s2]==1)//判斷是否出界和能不能走		return ;	if(s1==e1&&s2==e2&&step<min)//找到終點,判斷步數		min=step;	a[s1][s2]=1;	dfs(s1+1,s2,step+1);	dfs(s1-1,s2,step+1);	dfs(s1,s2+1,step+1);	dfs(s1,s2-1,step+1);	a[s1][s2]=0;}int main(){	int t;	scanf("%d",&t);	while(t--)	{		scanf("%d %d %d %d",&s1,&s2,&e1,&e2);		min=81;		dfs(s1,s2,0);		PRintf("%d/n",min);	}	return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿合奇县| 永善县| 凤凰县| 简阳市| 忻州市| 土默特左旗| 肇州县| 高州市| 石景山区| 小金县| 定州市| 金华市| 丹江口市| 晴隆县| 名山县| 贵阳市| 普格县| 原阳县| 农安县| 丹巴县| 阿拉善盟| 西林县| 五台县| 合阳县| 义马市| 鄂尔多斯市| 屏山县| 离岛区| 大城县| 朝阳市| 勃利县| 温泉县| 肇州县| 灵武市| 楚雄市| 本溪市| 黔东| 塔河县| 古交市| 涡阳县| 石河子市|