#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必須開啟門,但是,開門之前必須在迷宮裡找到這個開啟這...