• 大小: 2KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-01-09
  • 语言: C/C++
  • 标签: C++  

资源简介

版本号: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


评论

共有 条评论