這是一道典型的bfs題,可由題意知道起始點『x』,結束位置『o』, 『.』是通路,『* 』是斷路,首先是如何輸入圖形,我選擇的是二維字元陣列 map,然後用二維陣列vis表示這個點是否有走過,然後在bfs函式中使用佇列,利用佇列的先進先出原則,則當第乙個到達出口的點的步數是最小的。最後再和輸入的最小步數進行比較得出是否能夠跑出天神小學。
具體**如下:
#include
#include
#include
#include
using
namespace
std;
const
int max=25;
char
map[max][max];
int vis[max][max];
int dirtx[4]=; //!
int dirty[4]=;
typedef
struct point
point;
int bfs(int x1,int y1,int n,int m)
else }}
}int main()
}int x1,y1;//表示起始位置,壓入佇列中的第乙個點
int out=0;
for(int i=1;i<=n;i++)//找到第乙個點
}if(out==1)
break;
}step=bfs(x1,y1,n,m);
if(step<=t)
僅代表個人觀點,歡迎交流**,勿噴~~~
hdu 2076 夾角有多大
problem description 時間過的好快,乙個學期就這麼的過去了,xhd在傻傻的看著表,出於對資料的渴望,突然他想知道這個表的時針和分針的夾角是多少。現在xhd知道的只有時間,請你幫他算出這個夾角。注 夾角的範圍 0,180 時針和分針的轉動是連續而不是離散的。input 輸入資料的第一...
HDU 2076 夾角有多大(水 )
description 時間過的好快,乙個學期就這麼的過去了,xhd在傻傻的看著表,出於對資料的渴望,突然他想知道這個表的時針和分針的夾角是多少。現在xhd知道的只有時間,請你幫他算出這個夾角。注 夾角的範圍 0,180 時針和分針的轉動是連續而不是離散的。input 輸入資料的第一行是乙個資料t,...
2076 時針分針的夾角
時間過的好快,乙個學期就這麼的過去了,xhd在傻傻的看著表,出於對資料的渴望,突然他想知道這個表的時針和分針的夾角是多少。現在xhd知道的只有時間,請你幫他算出這個夾角。注 夾角的範圍 0,180 時針和分針的轉動是連續而不是離散的。輸入資料的第一行是乙個資料t,表示有t組資料。每組資料有三個整數h...