推箱子的题目,需要记录四个状态量,b[pi][pj][bi][bj]代表人和箱子在某种状态下所需要推动的最小step。
lev是无用记录量,仅作测试使用。
#include <cstdio>#include <string>int dir[4][2] =...{ ...{ 0, 1 }, ...{ 1, 0 }, ...{ - 1, 0 }, ...{ 0, -1 }};int N, M, a[7][7], b[7][7][7][7];typedef struct...{ int bx, by; // 箱子 int px, py; // 人 int step, lev; // 步数} Box;Box q[2500], c, m, g;int inline _check ( int i, int j )...{ return i >= 0 &&am......
阅读全文