YTU 3166 共享單車

2021-08-01 23:33:28 字數 1270 閱讀 7015

現在簡化問題。將地圖設定成乙個由100公尺*100公尺的畫素塊組成的二維平面區域。如果乙個方塊內有單車,則畫素塊顯示為字元「x」;如果此方塊內是可以通行的路,則顯示為「.」;再如果方塊是建築物,則顯示為「*」,建築物不能通行。

小明在地圖上的位置顯示為「o」,可以朝,「上」、「下」、「左」,「右」,「左上」,「左下」,「右上」,「右下」八個方向走。下圖所示為乙個小明站在畫素方塊o,如果小明向右走到x,則走100公尺;如果向右上走,則走141公尺(不需要開方)。

假設小明和單車都在方塊的**。現在給出 t 幅根據以上規則建立的地圖,地圖行數和列數分別為 n 和 m,請分別估算小明要走多少公尺才能到最近的單車?

如果計算中出現小數,那麼直接捨棄。最後的輸出的結果為整型。

給出的地圖中至少有一輛單車,如果最終無法到達單車的位置,輸出-1。

第1行,t,表示下面有 t 組測試資料

對於每組測試資料

(1)第1行,n和m ,表示地圖的大小;

(2)第2行開始,給出具體的地圖 。

t行資料

每行1個整數,表示問題的解

2

3 8.....x..

.o...x..

........

8 10

.***......

.***......

.***..x...

..........

.....*****

..o..*****

.......x..

...*******

400

523

#includeusing namespace std;

typedef long long ll;

const int maxn = (int)1e2+2;

int mov[8][2]=,,,,,,,};

typedef pair< int , pair> piii;

typedef struct

}node;

bool vis[maxn][maxn];

int n,m;

inline bool able(int x, int y)

}return 0;

}void solve()

int ans = bfs(ox,oy,mp);

cout

while(t--) solve();

}

YOJ 共享單車

description 現在簡化問題。將地圖設定成乙個由100公尺100公尺的畫素塊組成的二維平面區域。如果乙個方塊內有單車,則畫素塊顯示為字元 x 如果此方塊內是可以通行的路,則顯示為 再如果方塊是建築物,則顯示為 建築物不能通行。小明在地圖上的位置顯示為 o 可以朝,上 下 左 右 左上 左下 ...

共享單車c

冷月老師每天上班從蘇州街地鐵站出來 都要思考很久是騎 去公司還是直接走過去 如果騎 則開鎖需要等 40s,已知冷老師騎 速度 4m s,走路速度 1.5m s.寫乙個程式幫助冷月老師判斷騎車快還是走路快.輸入地鐵到公司的距離,單位為公尺.如果騎車快,輸出 bicycle 如果走路快,輸出 walk ...

共享單車的討論

共享單車的利弊 我的觀點 方便 方便 還是方便 停放 停放 還是要停放 亂不 亂不 還是有點亂 管理 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下markdown的基本語法知識。全新的介面設計,將會帶來全新的寫...