gfoj Problem 787 密室逃脫

2021-08-07 10:52:17 字數 2477 閱讀 4954

problem 787: 密室逃脫

time limit: 2000 ms memory limit: 524288 kb

problem description

小j被關在密室裡!

密室的構造是乙個h×w的棋盤,即有h行w列,第i行第j列的房間用ai,j 表示。

若ai,j =』#』,則該房間的門是鎖上的;

若ai,j =』.』,則該房間是可以自由進出的;

小j被困在ai,j =』s』的地方,該房間是可以自由進出的。

房間是四相鄰的,即(i,j)可以移動到(i+1,j),(i-1,j),(i,j-1),(i,j+1)

小j將通過如下方式逃脫密室,每一回合,她會按順序執行如下操作:

移動至多k 次,可以不移動,此時被鎖著的房間是不能夠進入的

選擇至多k個鎖著的房間開啟,可以不選擇任何房間,從此那些房間將一直可以自由進出。

出口在密室的四周,即第1行,第1列,第h行,第w列的所有房間,出口一開始可能是被鎖住的。

你需要用最少的回合移動到出口,輸出這個回合數。

資料範圍和子任務:

3≦h≦800

3≦w≦800

1≦k≦h×w

ai,j 是 『#』 『.』 『s』 中的一種,有且僅有乙個ai,j 為s

subtask1(30分):h≦4,w≦4;

subtask2(10分):不存在ai,j =#

subtask3(10分):不存在ai,j =.

subtask4(50分):無特殊限制

input

第一行讀入三個整數h,w,k

接下來h行,每行w個字元,表示ai,j。

output

輸出一行乙個數,表示小j最少要用多少回合逃出密室。

sample input

【樣例輸入1】

333

#.##s.

###

【樣例輸入2】

333

####s#

###

【樣例輸入3】

772

#######

#######

##...##

###s###

##.#.##

###.###

#######

sample output

【樣例輸出1】

【樣例輸出2】

【樣例輸出3】

【樣例解釋】

對於樣例1:

小j可以在乙個回合內移動到(1,2)

對於樣例2:

小j第乙個回合不能移動,但她解鎖了房間(1,2),然後她在第二個回合移動到(1,2)逃離密室。

problem source

dhr一開始理解錯題意

題意:

小j將通過如下方式逃脫密室,每一回合,她會按順序執行如下操作:

移動至多k 次,可以不移動,此時被鎖著的房間是不能夠進入的

選擇至多k個鎖著的房間開啟,可以不選擇任何房間,從此那些房間將一直可以自由進出。

說明乙個回合中可以有兩種操作

乙個回合走的k次可以由前一回合解鎖

所以路徑對答案沒有影響

所以走直線到邊界最優

我們先走k次(一回合)

用這一回合走的點更新答案

可以用bfs實現

時間o(n*m)

比賽時看出是搜尋題

以為要走奇奇怪怪的路線

找不到結論就做其他題去了

沒能簽到

有點虧啊

[1]atcoder grand contest 014做題記錄

[2]cs的比賽總結

#include

#include

#include

#include

#include

#define n 810

#define inf 2147483647

using

namespace

std;

int dx[4]=,dy[4]=,n,m,k,ans,sx,sy,num,u,v;

bool a[n][n],b[n][n];

char ch;

struct node;

queue

q;void bfs()

num=min(min(n-x,m-y),min(x-1,y-1));

num=(num-1)/k+1;

ans=min(ans,num);

for(int i=0;i<4;i++));}}

}}int main()}}

if(sx==1||sx==n||sy==1||sy==m)

ans=inf;

q.push((node));

bfs();

printf("%d\n",ans+1);

}

GFOJ problem468 出去玩 解題報告

題目 給出一棵小於n個節點的樹,和m個詢問,對於每個詢問,有兩個點,求點a到點b的最短距離,其中 n,m 40000 在這裡講一下倍增lca演算法 雖然說暴力搜尋也可以過 f i j 表示 從點i開始,向上2 j個點的位置,由於這道題帶權,再用v i j 用相同的方法表示權值,再記錄深度d i 於是...

唐僧情史 7 8

七 孫悟空是個詩人,我指的是他的生活態度。從本質上,他是乙隻浪漫多情的猴子,對世界無比溫柔,但看上去卻象個 他成佛的那一刻眼含熱淚,渾身顫抖。如來笑著問 你這頑皮的猴子,哭什麼?當時諸天神佛都在,悟空突然放聲大哭,誰都勸不住。只有我知道,那才是真實的孫悟空,乙隻軟弱的 自卑的猴子,乙隻渴望愛情的猴子...

7 8 超速判斷

7 8 超速判斷 10 分 模擬交通警察的雷達測速儀。輸入汽車速度,如果速度超出60 mph,則顯示 speeding 否則顯示 ok 輸入格式 輸入在一行中給出1個不超過500的非負整數,即雷達測到的車速。輸出格式 在一行中輸出測速儀顯示結果,格式為 speed v s,其中v是車速,s或者是sp...