一句话理解
矩阵模拟:在二维表上按规则移动或改格子。
为什么要学
螺旋填数、蛇形、模拟机器人。
讲解
方向数组 dx, dy 是标配。先判断下一格合法再走。
转方向、出界、碰到障碍,都要单独测。
例子
int dx[4] = {0, 1, 0, -1};
int dy[4] = {1, 0, -1, 0}; // 右下左上
dir 取 0..3,下一步 (x+dx[dir], y+dy[dir])。
常见错误
- 行列下标反。
- 转方向取模写成负数。
第 167 课
矩阵模拟:在二维表上按规则移动或改格子。
螺旋填数、蛇形、模拟机器人。
方向数组 dx, dy 是标配。先判断下一格合法再走。
转方向、出界、碰到障碍,都要单独测。
int dx[4] = {0, 1, 0, -1};
int dy[4] = {1, 0, -1, 0}; // 右下左上
dir 取 0..3,下一步 (x+dx[dir], y+dy[dir])。
方向数组能把“向右转”变成 dir = (dir+1)%4。
Ctrl / ⌘ + Enter 运行 · Tab 缩进
左右方向键也可翻课