哈理工第六屆程式設計大賽 G 逃脫(BFS)

2021-07-24 18:34:23 字數 1589 閱讀 9463

思路:一開始我預處理了每個格仔被火燃燒的最短時間然後bfs,wa到不能自理,後來沒預處理直接都扔進佇列裡就a了。。。

#includeusing namespace std;

const int maxn = 35;

struct node

};int n,m;

int vis[maxn][maxn],fir[maxn][maxn];

int dir[8][2]=,,,,,,,};

char mp[maxn][maxn];

bool check(node tt)

int bfs(node p,node f)

} else

}} return -1;

}int main()

{ int t;

scanf("%d",&t);

while(t--)

{ scanf("%d%d",&n,&m);

node peo,fir;

peo.flag=0;

fir.flag=1;

for(int i = 0;i

time limit: 1 sec  memory limit: 32 mb

submit: 231  solved: 15 [

submit][

status][

web board]

這是mengxiang000和tabris來到幼兒園的第四天,幼兒園老師在值班的時候突然發現幼兒園某處發生火災,而且火勢蔓延極快,老師在第一時間就發出了警報,位於幼兒園某處的mengxiang000和tabris聽到了火災警報聲的同時拔腿就跑,不知道兩人是否能夠逃脫險境?

幼兒園可以看成是乙個n*m的圖,在圖中一共包含以下幾種元素:

「.」:

表示這是一塊空地,是可以隨意穿梭的。

「#」:表示這是一塊牆,是不可以走到這上邊來的,但是可以被火燒毀。

「s」:表示mengxiang000和tabris所在位子。

「e」:表示幼兒園的出口。

「*」表示火災發源地(保證輸入只有乙個火災發源地)。

已知每秒有火的地方都會向周圍八個格仔(上下左右、左上、右上、左下、右下)蔓延火勢.mengxiang000和tabris每秒都可以選擇周圍四個格仔(上下左右)進行移動。(假設兩人這一秒行動完之後,火勢才蔓延開)

根據已知條件,判斷兩人能否成功逃脫險境

,如果可以,輸出最短逃離時間,否則輸出t_t。

第一行輸入乙個整數t,表示一共的測試資料組數。

第二行輸入兩個整數n,m,表示幼兒園的大小。

接下來n行,每行m個字元,表示此格仔是什麼元素。

t<=200

3<=n<=30

3<=m<=30

保證圖中有乙個起點,乙個出口,乙個火災源處.

每組資料輸出一行,如果兩人能夠成功到達出口,那麼輸出最短逃離時間,否則輸出t_t

35 5*...........s#....e......5 5...#*..#s#...##....e.....5 5.....s......*#....e......

2t_tt_t
為了防止孩子們嬉戲中受傷,牆體是橡膠製作的,可以燃燒的哦。

哈理工第六屆程式設計大賽 F 苦逼的單身狗(滑窗)

思路 比較顯然的滑窗?需要注意的是左邊界移過去的時候要判一下是否那個字元是love唯一的 includeusing namespace std const int maxn 100005 char s maxn char ss 10 love int ans,vis maxn r,cnt int m...

哈理工軟體學院第六屆ACM程式設計決賽 高年級組 D

小d是乙個搞房地產的土豪。每個人經商都有每個人經商的手段,當然人際關係是需要放在首位的。小d每乙個月都需要列出來乙個人際關係表,表示他們搞房地產的人的乙個人際關係網,但是他的精力有限,對應他只能和能夠接觸到的人交際。比如1認識2,2認識3,那麼1就可以接觸3進行交際,當然1和2也可以交際。小d還很精...

第六屆程式設計大賽 T1 異形卵

異形卵 現實。在zdm 777 星球上發現的休眠異形卵,其外表與常見的卵不同,表面被一層石墨覆蓋。當人走近時,那層石墨開始消融,能看到裡面的異形卵正在活動,異形卵是活物,具備一些熱量或壓力感測器這些基本的中樞神經系統,通過感知 周圍的熱量 選擇熱量最大處寄生。不過,假如周圍有不適合被寄生處,異形卵就...