注册 登录
编程论坛 新人交流区

一个要用到数据结构的仓库管理题目

fh_lk 发布于 2007-11-14 10:33, 852 次点击

刚学数据结构,遇到以下问题.如果有兴趣的话,帮忙看一下(用C/C++编写)

仓库管理

背景介绍:

某工厂有一座仓库,而你是仓库的管理员,为了使你的仓库能够容纳更多的货物,你需要设计一种好的策略来入库和出库。

功能描述

假设仓库的大小为32×32 货物的大小为1×12×24×48×816×16中的一种,而且所有相同大小的货物是同种类的。设计一种算法,尽可能充分的利用仓库的空间容纳货物。要求:

a)输入格式为[+/-]<num>,如:1+2-14+16,以文本或图像方式表现出每次输入后的仓库的使用情况,默认使用文本方式即可,能够使用图像描述的可以获得加分。

描述方法举例:

_1_*_2_2_8_8_8_8_8_8_8_8_*……

_*_*_2_2_8_8_8_8_8_8_8_8_*……

_*_*_*_*_8_8_8_8_8_8_8_8_*……

_*_*_*_*_8_8_8_8_8_8_8_8_*……

_*_*_*_*_8_8_8_8_8_8_8_8_*……

_*_*_*_*_8_8_8_8_8_8_8_8_*……

_*_*_*_*_8_8_8_8_8_8_8_8_*……

_*_*_*_*_8_8_8_8_8_8_8_8_*……

……

其中“_”是为了使x,y方向保持间距接近,并没有实际意义;“*”表示空闲的空间;数字表示该货物的边长。

b)算法应使仓库的空间尽可能充分的利用。

c)如果仓库中无法找道足够大小的空间容纳货物,你将不得不对货物的位置进行调整,调整的时候,你可以不考虑货物间的相互阻挡,直接搬移货物到指定位置,但不能把货物移到仓库外面,即每时每刻货物总是必须在仓库中占据一定空间。

d)要求打印调整过程中搬运货物的动作和仓库最后的状态,格式如下:

move (X,Y, Size) to (X,Y,Size)

其中X,Y为货物左上角的坐标,Size 为货物大小。

调整货物是很麻烦的事情,应尽可能少的进行。如果经过调整仍然无法找到足够的空间,则拒绝货物入库。记录每次拒绝入库时的货物大小,仓库所剩空间,以及仓库此时所能容纳的最大货物大小,保存在文件log.txt中。

[此贴子已经被作者于2007-11-14 22:17:14编辑过]

3 回复
#2
lajiya2007-11-14 19:27
大哥,你这也太......
#3
tlk2007-11-14 20:30
回复:(fh_lk)一个要用到数据结构的仓库管理题目
广告
#4
fh_lk2007-11-14 22:22

不是广告啊
我做了一个,感觉还是按照面向过程设计的
而且BUG颇多,希望有高手出现,拨云见日啊~~~

1