在乙個遊戲中,玩家處於乙個如下所示12行12列的迷宮:
0,1,0,0,0,1,1,1,0,1,0,1
0,0,0,1,0,0,0,0,1,0,0,1
0,1,0,1,0,1,1,1,0,1,0,0
0,1,0,0,0,0,0,1,0,0,1,1
0,0,0,0,1,0,0,0,0,0,0,0
0,0,1,0,0,0,1,0,0,0,1,0
0,0,1,0,0,0,0,0,1,0,0,0
1,0,0,1,0,1,0,0,0,1,0,1
0,0,1,0,1,0,1,0,1,0,0,0
0,0,0,0,0,1,0,0,0,1,1,0
0,0,0,0,0,1,0,0,0,0,0,0
0,1,0,1,0,0,0,1,0,1,0,0
其中迷宮由0,1組成,0表示道路,1表示障礙物。
現在要根據玩家和遊戲中被攻擊的虛擬boss所在位置,給玩家以最近距離的提示。
最近距離:即玩家走到boss所走的最少步數。(注:路線中的一步是指從乙個座標點走到其上下左右相鄰座標點。)
輸入4個整數a,b,c,d(即玩家和虛擬boss在迷宮中的座標位置分別為(a,b) 、(c,d)), 其中 0<=a,b,c,d<12。
輸出在迷宮中從(a,b)出發到達(c,d)的最少步數,如果(a,b)永遠無法到達(c,d)則輸出10000。
0 0 11 11
22
#includeusing namespace std;
int a,b,c,d,flag=0,min;
int map[12][12]=;
int vis[20][20];
int dir[4][2]=;
int stepa[100][2];//記錄當前路徑
int stepb[100][2];//記錄最短路徑
void dfs(int x,int y,int step)
if(x==c&&y==d)
for(int i=0;i<4;i++)
if(!vis[xx][yy]&&map[xx][yy]==0)
} return;
}int main()
else
return 0;
}
單詞最近距離
有一篇文章內含多個單詞,現給定兩個單詞,請設計乙個高效演算法,找出文中這兩個單詞的最短距離 即最少相隔的單詞數,也就是兩個單詞在文章中位置的差的絕對值 給定乙個string陣列article,代表所給文章,同時給定文章的單詞數n和待查詢的兩個單詞x和y。請返回兩個單詞的最短距離。保證兩個單詞均在文中...
t010 最近距離
time limit 1 second memory limit 32 mb 聚類方法要求將空間中的點集,按照一點的方式進行歸類,要求每一類中的點集相互之間的距離足夠的 近 聚類的一般方法是選取某乙個點p,並用乙個距離r作為度量,只要空間中的點q距離點p的距離不超過r時,我們說點q和點p是屬於同一類...
凸包最近距離 旋轉卡殼
original link 題意 給出兩個順時針排序好的凸包,求這兩個凸包的最近點對距離。解析 旋轉卡殼的另外乙個應用。先找出p1p1 p1中的最低點,p2p2 p2中的最高點,然後旋轉 順時針逆時針隨意,要保證兩個切線旋轉方向相同 每次p1 p1p1 的切線旋轉到與一條邊重合,找出p2p2 p2中...