week12作業B bfs找最短路徑

2021-10-05 23:04:22 字數 1130 閱讀 2950

雖然這題的迷宮是三維的,實際上與二維的迷宮沒什麼區別,只不過方向多了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 的最大值...