1215 脫離地牢

2021-07-24 18:01:13 字數 1018 閱讀 3414

此題有個巨大的吐槽的地方就是最終狀態的判定有兩種情況,相遇或者到乙個格仔裡,不要忘記當隊列為空要判定狀態為結束。還有可以用方向來代表陣列的下標,是**更具有可讀性。

#include 

#include

#include

using

namespace

std;

intconst maxn = 50;

char

map[maxn][maxn];

int vis[maxn][maxn][maxn][maxn];

int r,c;

int dr1 = ;

int dc1 = ;

char dre[6];

int dr2[4],dc2[4];

struct point

}p1;

bool isin(const point& tmp)

bool isend(const point& tmp)

void f()

if (dre[i]=='s')

if (dre[i]=='w')

if (dre[i]=='e')

}}int bfs()

point pp(nr1,nc1,nr2,nc2,tmp.val+1);

if(isin(pp)&&map[nr1][nc1]=='.'&&map[nr2][nc2]!='!'&&!vis[nr1][nc1][nr2][nc2]) }}

return -1;

}int main()

if (map[i][j]=='h')

}vis[p1.r1][p1.c1][p1.r2][p1.c2]=1;

cin>>dre;

f();

int ans = bfs();

if(ans!=-1) cout

cout

<<"impossible"

sicily 1215 脫離地牢

做sicily 1215脫離地牢 這一題,一直restrict function,都快崩潰了。最後發現是記憶體洩露,就是new出來的東西沒有及時delete導致的。具體是在廣度優先搜尋的時候,每找一次鄰居就new出一些節點,有些節點已被visited了然後我直接忽略它們,實際上是得把它們delete...

sicily 1215 脫離地牢

time limit 1 secs,memory limit 32 mb 在乙個神秘的國度裡,年輕的王子paris與美麗的公主helen在一起過著幸福的生活。他們都隨身帶有一塊帶磁性的陰陽魔法石,身居地獄的魔王satan早就想得到這兩塊石頭了,只要把它們熔化,satan就能吸收其精華大增自己的魔力。...

BFS Sicily 1215 脫離地牢

constraints time limit 1 secs,memory limit 32 mb 在乙個神秘的國度裡,年輕的王子paris與美麗的公主helen在一起過著幸福的生活。他們都隨身帶有一塊帶磁性的陰陽魔法石,身居地獄的魔王satan早就想得到這兩塊石頭了,只要把它們熔化,satan就能吸...