资源简介
版本号:626
问题描述:
仓库是划分为n×m个格子的矩形阵列。有公共边的格子是相邻格子。当前仓库中有的格子是空闲的,有的格子上已经堆放了沉重的货物,单凭仓库管理员的力量是无法移动的。现在仓库管理员有一项任务,要将一个小箱子推到指定的格子上去。管理员可以在仓库中移动,但不得跨过沉重的不可移动的货物和箱子。当管理员站在与箱子相邻的格子上时,可以做一次推动,把箱子推到另一个相邻的格子
代码片段和文件信息
#include
#include
#include
using namespace std;
class Position
{
public:
bool operator < (const Position& pos) const
{
return num + len > pos.num + pos.len;
}
Position& operator = (const Position& pos)
{
admin_x = pos.admin_x;
admin_y = pos.admin_y;
box_x = pos.box_x;
box_y = pos.box_y;
num = pos.num;
len = pos.len;
return *this;
}
public:
int admin_x;
int admin_y;
int box_x;
int box_y;
int num;
int len;
};
int dir[4][2] = {{-1 0} {1 0} {0 -1} {0 1}};
class PushBox
{
public:
PushBox(int n int m);
virtual~ PushBox();
void ReadFile(ifstream& fileIn);
void OutPut(ofstream& fileOut);
void Push(int admin_x int admin_y int box_x int box_y int box_num int i);
bool CanPass(int
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 145 2010-10-12 21:58 推箱子问题\input.txt
文件 4602 2010-10-17 19:25 推箱子问题\pushbox.cpp
目录 0 2010-10-17 19:26 推箱子问题
----------- --------- ---------- ----- ----
4747 3
- 上一篇:一个最简单的VC++6.0数据库
- 下一篇:C++实现三维动态数组,赋值加减乘算法
相关资源
- c++ 数字键盘设计(源码)
- Linux优先级时间片调度C++源码
- c++ RoyCardTableView 列表插入
- 电机控制平台(c++源码)
- PID 控制算法实现(fuzzy-PID-controller)
- c++ 获取当前执行位置的调用栈
- windows文件夹监控(c++源码)
- C++ tts开发 可调节语速,音量,切换语
- c++(3_MSGS.C)
- c++实现P2PDemo(点对点聊天)
- windows 串口升级工具(c++源码)
- ntmedsys.sys(c++源码)
- DSS中的RTSPclientLib程序
- c 常用的数据结构 (Errata for Ford/Top
- RTSPRTP C++ 源代码
-
c++ xm
lRPC - rip协议编程及代码实现
- ippicv_2017u3_win_intel64_general_20170822.zip
- Windows Sockets 编程及UR机器人通信数据
- 跟进域名解析IP地址(c++ builder)
- iCord-屏幕录制(c++源码)
- 用ADO 对C++连接ORACLE 数据库
- 基于libevent 实现的http服务C++(myhttp
- 多人聊天室c++源码(附服务器端以及
- c++ 不打开图档可替换字符串源码
- opencv:视频图片相互转换程序
- VC++图片控件(Picture Control)显示资源
- Opencv3中SIFT算法详解
- MFC图片操作(PRO5_PNGDlg.cpp)
- c++ 实现 凯撒加密、解密
评论
共有 条评论