時間限制:
1000 ms | 記憶體限制:
65535 kb
難度: 4
描述 乙個叫acm的尋寶者找到了乙個藏寶圖,它根據藏寶圖找到了乙個迷宮,這是乙個很特別的迷宮,迷宮裡有n個編過號的門(n<=5),它們分別被編號為a,b,c,d,e.為了找到寶藏,acm必須開啟門,但是,開門之前必須在迷宮裡找到這個開啟這個門所需的所有鑰匙(每個門都至少有一把鑰匙),例如:現在a門有三把鑰匙,acm就必須找全三把鑰匙才能開啟a門。現在請你編寫乙個程式來告訴acm,他能不能順利的得到寶藏。
輸入
輸入可能會有多組測試資料(不超過10組)。
每組測試資料的第一行包含了兩個整數m,n(1
輸出每行輸出乙個yes表示acm能找到寶藏,輸出no表示acm找不到寶藏。
樣例輸入
4 4s.x.
a.x.
..xg
....
3 4
s.xa
.axb
b.ag
0 0
樣例輸出
yesno
#include#include#includeusing namespace std;
#includeint n,m;
int vis[21][21];
char a[21][21];
int dx[4]=;
int dy[4]=;
int key[5]=;
struct zz
f1,f2;
int inlimit(zz f1)
int bfs(int x,int y)
}} for(int i=0;i<4;i++)
}return 0;
}int main()
for(i=1;i<=n;i++)
if(a[i][j]>='a'&&a[i][j]<='e')
key[a[i][j]-'a']++;
}} if(bfs(sx,sy))
printf("yes\n");
else
printf("no\n");
} return 0;
}
nyoj 82 迷宮尋寶(一)(廣搜)
時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述 乙個叫acm的尋寶者找到了乙個藏寶圖,它根據藏寶圖找到了乙個迷宮,這是乙個很特別的迷宮,迷宮裡有n個編過號的門 n 5 它們分別被編號為a,b,c,d,e.為了找到寶藏,acm必須開啟門,但是,開門之前必須在迷宮裡找到這個開啟這...
NYOJ 迷宮尋寶(一) 搜尋 廣搜
時間限制 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必須開啟門,但是,開門之前必須在迷宮裡找到這個開啟這...