description
現在簡化問題。將地圖設定成乙個由100公尺100公尺的畫素塊組成的二維平面區域。如果乙個方塊內有單車,則畫素塊顯示為字元「x」;如果此方塊內是可以通行的路,則顯示為「.」;再如果方塊是建築物,則顯示為「」,建築物不能通行。
小明在地圖上的位置顯示為「o」,可以朝,「上」、「下」、「左」,「右」,「左上」,「左下」,「右上」,「右下」八個方向走。下圖所示為乙個小明站在畫素方塊o,如果小明向右走到x,則走100公尺;如果向右上走,則走141公尺(不需要開方)。
假設小明和單車都在方塊的**。現在給出 t 幅根據以上規則建立的地圖,地圖行數和列數分別為 n 和
m,請分別估算小明要走多少公尺才能到最近的單車?
如果計算中出現小數,那麼直接捨棄。最後的輸出的結果為整型。 給出的地圖中至少有一輛單車,如果最終無法到達單車的位置,輸出-1。
input
第1行,t,表示下面有 t 組測試資料 對於每組測試資料 (1)第1行,n和m ,表示地圖的大小; (2)第2行開始,給出具體的地圖 。output
t行資料sample input每行1個整數,表示問題的解
2sample output3 8
…..x..
.o…x..
……..
8 10
.*……
.*……
.*..x…
……….
…..*
..o..*
…….x..
…*
400 300學校龍舟賽中的一道題,一開始看到題目誤判成dfs。。結果耗了乙個多小時沒出結果。考完後思考了一下,其實這個題還是求最短路徑,斜線距離屬於干擾因素。奉上bfs**。
#include
#include
#include
#include
#include
#include
using
namespace
std;
int m,n,sx,sy;
int mins=9999;
char data[99][99];
struct list
que[9999];
void bfs(int x,int y)
data[que[front].y][que[front].x]='*';
for(int i=0;i<8;i++)
if(data[ty][tx]=='.'||data[ty][tx]=='x')}}
if(mins==9999)
mins = -1;
}int main()}}
bfs(sx,sy);
cout
<< mins << endl;
}return
0;}
共享單車c
冷月老師每天上班從蘇州街地鐵站出來 都要思考很久是騎 去公司還是直接走過去 如果騎 則開鎖需要等 40s,已知冷老師騎 速度 4m s,走路速度 1.5m s.寫乙個程式幫助冷月老師判斷騎車快還是走路快.輸入地鐵到公司的距離,單位為公尺.如果騎車快,輸出 bicycle 如果走路快,輸出 walk ...
共享單車的討論
共享單車的利弊 我的觀點 方便 方便 還是方便 停放 停放 還是要停放 亂不 亂不 還是有點亂 管理 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下markdown的基本語法知識。全新的介面設計,將會帶來全新的寫...
從共享單車到共享晶元設計
如火如荼的共享經濟正從中國向全世界蔓延,雖然共享經濟的發源不在中國,但是中國將共享激情演繹得淋漓盡致。現在全世界範圍內掀起了共享經濟的潮流,這不,已經從共享單車到共享充電寶 現在到了高大上的 晶元共享設計 日前,英國ip 商arm宣布,其十分流行的arm cortex m3處理器及相關ip子系統也授...