雖然這題的迷宮是三維的,實際上與二維的迷宮沒什麼區別,只不過方向多了2個而已。
既然是最短路,那自然就想到用bfs。在bfs的過程中,為了能夠計算走的步數,我在相應位置插入乙個特殊的標記,通過這個標記可以得知步數要+1,然後彈出標記,再重新在末尾壓入標記。
具體細節在**中:
#include
#include
using
namespace std;
int l,r,c;
char m[35]
[35][
35];struct position
bool
operator
==(position p)
else}}
;void
func
(position s,position e)
else}if
(m[here.x]
[here.y]
[here.z]
=='e'
)//走到終點
int x,y,z;
for(dir=
0;dir<=
5;dir++
)else
if(m[x]
[y][z]
=='e')}
} cout<<
<<
'\n'
;return;}
intmain()
position start,end;
for(
int i=
1;i<=l;i++
)//接收空間
if(m[i]
[j][k]
=='e'
)//記錄下終點 }}
}func
(start,end);}
}
Week12 找數問題
給出n個數,zjm想找出出現至少 n 1 2次的數,現在需要你幫忙找出這個數是多少?輸入 本題包含多組資料 每組資料報含兩行。第一行乙個數字n 1 n 999999 保證n為奇數。第二行為n個用空格隔開的整數。資料以eof結束。輸出 對於每一組資料,你需要輸出你找到的唯一的數。樣例輸出 513 23...
Week12作業 必做題
a給出n個數,zjm想找出出現至少 n 1 2次的數,現在需要你幫忙找出這個數是多少?input 本題包含多組資料 每組資料報含兩行。第一行乙個數字n 1 n 999999 保證n為奇數。第二行為n個用空格隔開的整數。資料以eof結束。output 對於每一組資料,你需要輸出你找到的唯一的數。實現 ...
WEEK12 作業 C 必做題3
東東每個學期都會去寢室接受掃樓的任務,並清點每個寢室的人數。每個寢室裡面有ai個人 1 i n 從第i到第j個宿舍一共有sum i,j a i a j 個人 這讓宿管阿姨非常開心,並且讓東東掃樓m次,每一次數第i到第j個宿舍sum i,j 問題是要找到sum i1,j1 sum im,jm 的最大值...