?? 1009.cpp
字號(hào):
/* This Code is Submitted by wywcgs for Problem 1009 on 2005-12-09 at 00:02:45 */
#include <cstdio>
const int MAX = 128;
int map[MAX][MAX];
int max, bx, by;
bool eat;
inline int abs(int);
void move(int, int);
int main()
{
int n, m, i, j;
int cx, cy, d;
while(scanf("%d %d", &n, &m) != EOF) {
for(i = 0; i < n; i++) {
for(j = 0; j < m; j++) {
scanf("%d", &map[i][j]);
}
}
scanf("%d %d", &cx, &cy);
int mx = 0, my = 0;
int esc = false;
for(d = 0; true; d++) {
map[mx][my] = 0;
if(abs(cx-mx)+abs(cy-my) <= d) {
break;
} else {
eat = false;
max = 0;
if(mx > 0) move(mx-1, my);
if(mx < n-1) move(mx+1, my);
if(my > 0) move(mx, my-1);
if(my < m-1) move(mx, my+1);
if(!eat) {
esc = true;
break;
} else {
mx = bx;
my = by;
}
}
}
if(esc) {
printf("impossible\n");
} else {
printf("%d\n", d);
}
}
return 0;
}
inline int abs(int a)
{
return a > 0 ? a : -a;
}
void move(int x, int y)
{
if(map[x][y] > max) {
bx = x;
by = y;
max = map[x][y];
eat = true;
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -