Problem G 逃脫 搜尋)

2021-07-24 19:32:29 字數 2124 閱讀 2943

problem g: 逃脫

time limit: 1 sec memory limit: 32 mb

submit: 341 solved: 36

[submit][status][web board]

description

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

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

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

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

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

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

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

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

根據已知條件,判斷兩人能否成功逃脫險境,如果可以,輸出最短逃離時間,否則輸出t_t。

input

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

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

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

t<=200

3<=n<=30

3<=m<=30

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

output

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

sample input

3 5 5

*….

…..

..s#.

…e.

…..

5 5

…#*

..#s#

…##

….e

…..

5 5

…..

s….

..*#.

…e.

…..

sample output

2 t_t

t_t

hint

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

題解:搜尋題,本來搜尋學的不好,加上比賽時出的人又少就沒看。現在補上。我們先預處理出火到每乙個點的時間,然後bfs人。判斷點是否滿足條件即可。有乙個坑點,當人和火同時到門的時候,算人勝利(很明顯啊!)

**:

#include 

#define ll long long

using

namespace

std;

char mp[50][50];

int fx[10]= ;

int fy[10]= ;

int t,n,m;

int x,y;

int x2,y2;

int x3,y3;

bool flag;

int tim[50][50];

int vis[50][50];

int ans[50][50];

struct node

p;void bfs1(int x,int y)

); while(!q.empty()));}

}}

}void bfs2(int x,int y)

); while(!q.empty())

}if(mp[xx][yy]=='e')

return ;}}

}}

}int main()

if(mp[i][j]=='*')

if(mp[i][j]=='e')}}

bfs1(x2,y2);

bfs2(x,y);

if(flag)

printf("%d\n",ans[x3][y3]);

else

printf("t_t\n");

}}

動態規劃 Problem G

動態規劃 problem g 題意 都說天上不會掉餡餅,但有一天gameboy正走在回家的小徑上,忽然天上掉下大把大把的餡餅。說來gameboy的人品實在是太好了,這餡餅別處都不掉,就掉落在他身旁的10公尺範圍內。餡餅如果掉在了地上當然就不能吃了,所以gameboy馬上卸下身上的揹包去接。但由於小徑...

Problem G 貨幣兌換

problem g 貨幣兌換 time limit 1 sec memory limit 2 mb submit 14369 solved 6327 submit status web board description 給出人民幣對美元 歐元 日元的當日匯率,求給定金額的人民幣能兌換成外幣的金額,...

地牢逃脫 BFS

題意 給定乙個 n 行 m 列的地牢,其中 表示可以通行的位置,x 表示不可通行的障礙,牛牛從 x0 y0 位置出發,遍歷這個地牢,和一般的遊戲所不同的是,他每一步只能按照一些指定的步長遍歷地牢,要求每一步都不可以超過地牢的邊界,也不能到達障礙上。地牢的出口可能在任意某個可以通行的位置上。牛牛想知道...