由买买提看人间百态

topics

全部话题 - 话题: tower1
(共0页)
l*********y
发帖数: 142
1
来自主题: JobHunting版 - 求教 uva254 汉诺塔
有没有人做过 uva254 汉诺塔,我连网上的解题报告也没有看懂,sigh!
能帮助看一下下面的解题报告吗?
http://hi.baidu.com/knowledgetime/blog/item/a3db08d21b2c9a379b5
不懂下面这段
if(b[i])
{
tower3++;
tmp=tower1; tower1=tower2; tower2=tmp;
}else
{
tower1++;
tmp=tower2; tower2=tower3; tower3=tmp;
}
我不是很理解为什么b[i] == 1, tower3++, 还有为什么要swap tower2 and tower3。
多谢了。
l*********y
发帖数: 142
2
来自主题: CS版 - 求教 uva254 汉诺塔
有没有人做过 uva254 汉诺塔,我连网上的解题报告也没有看懂,sigh!
能帮助看一下下面的解题报告吗?
http://hi.baidu.com/knowledgetime/blog/item/a3db08d21b2c9a379b5
不懂下面这段
if(b[i])
{
tower3++;
tmp=tower1; tower1=tower2; tower2=tmp;
}else
{
tower1++;
tmp=tower2; tower2=tower3; tower3=tmp;
}
我不是很理解为什么b[i] == 1, tower3++, 还有为什么要swap tower2 and tower3。
多谢了。
z**********8
发帖数: 229
3
来自主题: JobHunting版 - 汉若塔问题
#include
using namespace std;
#include
#include
class Tower{
private:
int index;//indicate the number of tower
stack one_tower;
public:
Tower(int i=0):index(i){}//constructor
int getindex();
void add(int d);
void moveTopTo(Tower t);
void print();
void moveDisks(int n,Tower Destination,Tower buffer);
};
int Tower::getindex()
{
return index;
}
void Tower::add(int d)
{
if((!one_tower.empty())&&(d>one_tower.top()))
cout<<"... 阅读全帖
(共0页)