2025考研b all ac
This commit is contained in:
@@ -53,16 +53,19 @@ int end_row, end_col;
|
|||||||
int map[MAXN][MAXN] = {0};
|
int map[MAXN][MAXN] = {0};
|
||||||
// 0 = wall
|
// 0 = wall
|
||||||
// 1 = ground
|
// 1 = ground
|
||||||
|
// 2 = glass
|
||||||
|
|
||||||
bool valid_pos(int row, int col, posture pos) {
|
bool valid_pos(int row, int col, posture pos) {
|
||||||
if (row >= n || col >= m || row < 0 || col < 0) {
|
if (row >= n || col >= m || row < 0 || col < 0) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (pos == pos_s) {
|
if (pos == pos_s) {
|
||||||
return map[row][col] > 0;
|
return map[row][col] == 1;
|
||||||
} else if (pos == pos_h) {
|
} else if (pos == pos_h) {
|
||||||
|
if (col + 1 >= m) return false;
|
||||||
return map[row][col] > 0 && map[row][col + 1] > 0;
|
return map[row][col] > 0 && map[row][col + 1] > 0;
|
||||||
} else if (pos == pos_v) {
|
} else if (pos == pos_v) {
|
||||||
|
if (row + 1 >= n) return false;
|
||||||
return map[row][col] > 0 && map[row + 1][col] > 0;
|
return map[row][col] > 0 && map[row + 1][col] > 0;
|
||||||
} else {
|
} else {
|
||||||
// should not be here
|
// should not be here
|
||||||
@@ -287,8 +290,10 @@ int main() {
|
|||||||
for (int j = 0; j < m; ++j) {
|
for (int j = 0; j < m; ++j) {
|
||||||
if (linebuf[j] == '#') {
|
if (linebuf[j] == '#') {
|
||||||
map[i][j] = 0;
|
map[i][j] = 0;
|
||||||
} else if (linebuf[j] == '.' || linebuf[j] == 'E') {
|
} else if (linebuf[j] == '.') {
|
||||||
map[i][j] = 1;
|
map[i][j] = 1;
|
||||||
|
} else if (linebuf[j] == 'E') {
|
||||||
|
map[i][j] = 2;
|
||||||
} else if (linebuf[j] == 'X') {
|
} else if (linebuf[j] == 'X') {
|
||||||
map[i][j] = 1;
|
map[i][j] = 1;
|
||||||
if (found_start == false) {
|
if (found_start == false) {
|
||||||
|
|||||||
Reference in New Issue
Block a user