資源簡介
版本號: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++實現三維動態數組,賦值加減乘算法
評論
共有 條評論