Nyoj 82 迷宮尋寶(一)

2021-06-21 09:57:40 字數 999 閱讀 6724

#include #include #include #include using namespace std;

const int maxn = 25;

struct point_pos

};point_pos targetpos, doorpos[5];//寶藏的位置,每個門的位置

char graph[maxn][maxn];//儲存藏寶圖

int keynum[5];//每個門的鑰匙的數量

bool doornum[5];//看a~e是否都存在

int row, col;//行, 列

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

bool is_cango(point_pos t)//判斷該位置是否可行

bool check_key()//檢視所有鑰匙是否用完

return true;

}bool bfs(point_pos t)//此處記得要用stl, 因為不知道陣列要開多大

} if(graph[curpos.x][curpos.y] >= 'a' && graph[curpos.x][curpos.y] <= 'e')//當前鑰匙打不開此門,因此把這個位置設定為牆

}graph[curpos.x][curpos.y] = 'x';//走過的位置設定為牆

if(curpos.x == targetpos.x && curpos.y == targetpos.y && check_key())//到達目標狀態即寶藏位置

return true;

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

}return false;

}int main()

}} bool flag = bfs(startpos);

if(flag)

printf("yes\n");

else

printf("no\n");

} return 0;

}

nyoj82迷宮尋寶(一)

時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述 乙個叫acm的尋寶者找到了乙個藏寶圖,它根據藏寶圖找到了乙個迷宮,這是乙個很特別的迷宮,迷宮裡有n個編過號的門 n 5 它們分別被編號為a,b,c,d,e.為了找到寶藏,acm必須開啟門,但是,開門之前必須在迷宮裡找到這個開啟這...

迷宮尋寶(一) nyoj 82

時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述 乙個叫acm的尋寶者找到了乙個藏寶圖,它根據藏寶圖找到了乙個迷宮,這是乙個很特別的迷宮,迷宮裡有n個編過號的門 n 5 它們分別被編號為a,b,c,d,e.為了找到寶藏,acm必須開啟門,但是,開門之前必須在迷宮裡找到這個開啟這...

NYOJ82 迷宮尋寶(一)

時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述 乙個叫acm的尋寶者找到了乙個藏寶圖,它根據藏寶圖找到了乙個迷宮,這是乙個很特別的迷宮,迷宮裡有n個編過號的門 n 5 它們分別被編號為a,b,c,d,e.為了找到寶藏,acm必須開啟門,但是,開門之前必須在迷宮裡找到這個開啟這...