時間限制:
1000 ms | 記憶體限制:
65535 kb
難度:3 描述
話說唐僧復得了孫行者,師徒們一心同體,共詣西方。自寶象國救了公主,承君臣送出城西,沿路饑餐渴飲,
悟空便為師傅去化齋,等悟空回來,悟淨慌慌張張的對悟空說:「不好了,不好了」,還沒等悟淨說完,悟空說:「師傅又被妖怪抓走了」,悟淨:「no!
」,悟空一臉茫然,悟淨:「師傅和二師兄都被妖怪抓走了」。悟空(暈!)。為了防止悟空救人,妖怪先把唐憎和八戒分別藏起來,如果悟空在t分鐘之後還沒找到人,那必定是被妖怪吃掉了。假設悟空在乙個n行m列的矩陣內,悟空在每一分鐘可以走到上,下,左,右的其中的乙個可以走的位置,每次只能走一步。我們把發現定義為可以直接看到對方,
也就是說兩個人在同一行或者同一列,並且中間沒有障礙物或者沒有其他人就可以看到對方。
輸入
有多組測試資料,每組首先是三個正整數n , m (3<=n,m<=100), t,(0<=t<=100) 分別代表行數,列數,規定的時間。接下來n 行,每行 m 個字元。其中』 s 』 代表悟空的位置,』 d 』代表師傅位置,』 e 』代表八戒的位置。並且保證都只有乙個. 』 x 』代表牆 ,』 . 』代表空地 .
輸出每組先輸出一行case c:(c表示當前的組數,從1開始計數);
接下來一行,如果悟空可以在規定時間內找到兩人,則輸出最少需要的時間,否則輸出-1。
樣例輸入
5 6 3xxd...
....e.
....x.
....s.
......
5 6 3
xdx...
....e.
......
....s.
......
5 6 8
xxdx..
.xex..
......
....s.
......
樣例輸出
case 1:-1 case 2:
3 case 3:
-1
#include #include #include #include #include using namespace std;
const int maxn = 100 + 10;
int dx = ;
int dy = ;
struct pos
pos() {}
};queueq;
vectorv;
pos begin;
int n, m, t;
char map[maxn][maxn];
int visited[maxn][maxn];
int visited2[maxn][maxn];
int ans;
bool check(int r,int c)
return false;
}char gettype(char type, char type2)
return type == 'd'? 'd':'e';
}void setmap(int r,int c,char type)
map[i][c] = gettype(type, map[i][c]); }
for(int i=r+1;i=0;i--)
map[r][i] = gettype(type, map[r][i]); }
for(int i=c+1;i=n || cc<0 || cc>=m)
continue;
if(check(rr,cc))
if(!visited2[rr][cc])
} front++; }
return (1<<30);
}void bfs()
if(map[r][c] == 'd' || map[r][c] == 'e')
for(int i=0;i<4;i++)
if(!visited[rr][cc])
} q.pop(); }
if(ans<=t) else
}int main()
}}
ans = 1<<30;
for(int i=0;i
師傅又被妖怪抓走了
描述 話說唐僧復得了孫行者,師徒們一心同體,共詣西方。自寶象國救了公主,承君臣送出城西,沿路饑餐渴飲,悟空便為師傅去化齋,等悟空回來,悟淨慌慌張張的對悟空說 不好了,不好了 還沒等悟淨說完,悟空說 師傅又被妖怪抓走了 悟淨 no!悟空一臉茫然,悟淨 師傅和二師兄都被妖怪抓走了 悟空 暈!為了防止悟空...
nyoj 999 師傅又被妖怪抓走了
時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 話說唐僧復得了孫行者,師徒們一心同體,共詣西方。自寶象國救了公主,承君臣送出城西,沿路饑餐渴飲,悟空便為師傅去化齋,等悟空回來,悟淨慌慌張張的對悟空說 不好了,不好了 還沒等悟淨說完,悟空說 師傅又被妖怪抓走了 悟淨 no!悟空...
nyoj 999 師傅又被妖怪抓走了
時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 話說唐僧復得了孫行者,師徒們一心同體,共詣西方。自寶象國救了公主,承君臣送出城西,沿路饑餐渴飲,悟空便為師傅去化齋,等悟空回來,悟淨慌慌張張的對悟空說 不好了,不好了 還沒等悟淨說完,悟空說 師傅又被妖怪抓走了 悟淨 no!悟空...