Ali and Snoopy(利用廣度搜尋走迷宮)

2021-06-23 03:32:08 字數 1168 閱讀 1808

阿狸被困在迷宮,snoopy要去救他,snoopy可以向上、下、左、右四個方向行走,每走一步(格)就要喝掉一瓶益力多。

現在給他乙個迷宮地圖請問:snoopy最少需要多少瓶益力多才能找到阿狸。

先輸入乙個數t,表示測試的資料個數

下面輸入的就是t個迷宮

每個迷宮的輸入都應包含以下資料

輸入迷宮的大小 n(n<=15),表示迷宮大小為n*n,接下來的n行表示迷宮。用大寫字母「s」表示snoopy的位置,用大寫字母「e」表示阿狸被困的位置用「.」表示空白,用「*」表示障礙你知道的阿狸和snoopy都只有乙個

輸出需要的最少的益力多的瓶數m (資料保證一定有最少需要的益利多的瓶數)

1

8s..*....

.*...**.

.**.**..

.*..*..*

*..**.**

........

.***..*.

....*..e

16
廣度搜尋一般需要借助乙個佇列來儲存每次搜尋到的內容

#includeusing namespace std;

const int linelenmax=225;

struct line//

void push(int t,int* a)

void pop()

int *ask()

bool isnull() };

int scoo[2];

char map[15][15];

void help(int n)

s.push(t+1,coo);

map[coo[0]][coo[1]]='x';

}coo[0]+=1;

coo[1]-=1;

if(coo[1]>=0&&map[coo[0]][coo[1]]!='*'&&map[coo[0]][coo[1]]!='x')

s.push(t+1,coo);

map[coo[0]][coo[1]]='x';

}coo[0]+=1;

coo[1]+=1;

if(coo[0]>t;

while(t--)

}help(n);

} return 0;

}



利用MulticastSocket傳送廣播資訊

多播組通過 d 類 ip 位址和標準 udp 埠號指定。d 類 ip 位址在 224.0.0.0 和 239.255.255.255 的範圍內 包括兩者 位址 224.0.0.0 被保留,不應使用。接收端 byte buf new byte 1024 datagrampacket pack new ...

SpringBoot websocket廣播式應用

1 建立乙個簡單的springboot 專案,推薦使用idea,這裡我只選擇了websocket,thymeleaf。2 配置websocket,需要使用 enablewebsocketmessagebroker 註解開啟stomp協議來傳輸基於 message broker 的訊息,並通過實現we...

A計畫(廣搜)

description 可憐的公主在一次次被魔王擄走一次次被騎士們救回來之後,而今,不幸的她再一次面臨生命的考驗。魔王已經發出訊息說將在t時刻吃掉公主,因為他聽信謠言說吃公主的肉也能長生不老。年邁的國王正是心急如焚,告招天下勇士來拯救公主。不過公主早已習以為常,她深信智勇的騎士lj肯定能將她救出。現...