sdut oj 3474 湯圓 拯救計畫

2021-08-25 19:22:30 字數 1318 閱讀 5215

time limit: 1000 ms memory limit: 65536 kib

submit

statistic

problem description

又到了湯圓星球一年一度的湯圓節了,但是大魔王卻過來把湯圓公主抓走了σ( ° △ °|||)︴

身為湯圓騎士的qaq蒟蒻自然而然的肩負著拯救湯圓的使命

qaq蒟蒻經歷了千辛萬苦(並沒有)之後,來到了大魔王的城堡,根據情報,湯圓公主就被大魔王放在城堡內,然後qaq蒟蒻發現自己是乙個路

痴,所幸的是他拿到了大魔王的城堡的地圖,而且在這上面標註了自己和湯圓公主的位置,那麼問題來了,聰明的你能幫他計算出需要多少單位

的時間來趕到湯圓公主的位置嗎?

ps:qaq蒟蒻每一次都可以移動到相鄰的非牆的格仔中,每次移動都要花費1個單位的時間

有公共邊的格仔定義為相鄰

input

一開始為乙個整數t代表一共有t組資料

每組測試資料的第一行有兩個整數n,m (2<=n,m<=300)

接下來的n行m列為大魔王的迷宮,其中

』#』為牆壁,『_『為地面

a代表qaq蒟蒻,o代表湯圓公主:

output

一組資料輸出乙個整數代表從qaq蒟蒻到湯圓的位置的最短時間

如果qaq蒟蒻不能到達湯圓的位置,輸出-1

sample input

2

3 3__a

_##__o

2 2a#

#o

sample output

6

-1

hint

source

qasq

乙個bfs的題。

首先找到qaq蒟蒻和公主的位置,然後從qaq蒟蒻的位置開始遍歷,qaq蒟蒻能走的方向只有四個,而且不能超出地圖的範圍

,對qaq蒟蒻走的步數進行計數,直到qaq蒟蒻沒有路可走或者找到公主為止。

#include #include using namespace std;

struct node;

bool map[300][300]; //圖

int v[4][2] = , , , }; //下一步可能走的方向

int n, m, x, y, xx, yy;

void bfs();

int main()

else}}

bfs();

}return 0;

}void bfs()}}

cout << "-1"

}

數列求和 sdut oj

time limit 1000ms memory limit 32768kb problem description 數列求和是一類常見的問題,本題有一定的代表性 求s a aa aaa aaaa aa aa n位 其中,a的值由鍵盤輸入,位數n也由鍵盤輸入。input 第一行輸入a的值 第二行輸入...

簡單計算 sdut oj

time limit 1000ms memory limit 65536kb problem description 接受從鍵盤輸入的n個整數,輸出其中的最大值 最小值和平均值 平均值為整除的商 input 第一行乙個正整數n n 100 第二行有n個用空格隔開的整數ti 1 i n,0 ti 10...

簡單編碼 sdut oj

time limit 1000ms memory limit 65536kb problem description 將一串文字譯成密碼,密碼的規律是 將原來的小寫字母全部翻譯成大寫字母,大寫字母全部翻譯成小寫字母,數字的翻譯規律如下 0 9 1 8 2 7 3 6 4 5 5 4 6 3 7 2 ...