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 ...