文章

85

粉丝

0

获赞

466

访问

9.4k

头像
机器人走迷宫 题解:
P1675 中南大学/中山大学机试题
发布于2026年3月6日 11:08
阅读数 104

#include <bits/stdc++.h>
using namespace std;

char rmap[10][10];
int ok_map[10][10];
int w, h; // w=行数, h=列数
int sti, stj;

bool go_next(int i, int j, int dir) {
    if (dir == 1) { // 上
        if (i == 0) return false;
        return (rmap[i-1][j] == '.' && ok_map[i-1][j] == 0);
    }
    if (dir == 2) { // 下
        if (i == w-1) return false;
        return (rmap[i+1][j] == '.' && ok_map[i+1][j] == 0);
    }
    if (dir == 3) { // 左
        if (j == 0) return false;
        return (rmap[i][j-1] == '.' && ok_map[i][j-1] == 0);
    }
    if (dir == 4) { // 右
        if (j == h-1) return false;
        return (rmap[i][j+1] == '.' && ok_map[i][j+1] == 0);
    }
    return false;
}

void move(int dir) {
    if (dir == 1) sti--;
    if (dir == 2) sti++;
    if (dir == 3) stj--;
    if (dir == 4) stj++;
    ok_map[sti][stj] = 1;
}

int rotate(int dir) {
    if (dir == 1) {return 4;}
    if (dir == 2) {return...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发