-
有3个柱子(1,2 和3)和3 个不同尺寸的圆盘(A,B 和C)。在每个圆盘的中心有个孔,所以圆盘可以堆叠在柱子上。最初,全部3 个圆盘都堆在柱子1 上:最大的圆盘C在底部,最小的圆盘A在顶部。要求把所有圆盘都移动到柱子3,每次只许移动一个,而且只能先搬动柱子顶部的圆盘,还不许把尺寸较大的圆盘放在尺寸较小的圆盘上。这个问题的初始状态和目标状态如下图所示。 为给出一种移动方法,下列程序使用了深度优先搜索策略,并使用一个长度为3的一维数组来表示圆盘的位置及其叠放关系:int[] platePosition{a,b,c},其中,a表示最大的圆盘的位置,c表示最小的圆盘的位置,a,b,c的取值可以为1,2,或3,分别代表某个圆盘所在的柱子。请填写下列程序的空缺部分,以使程序能够得到一种移动方案。 public class test{ static int[] si={1,1,1}; static node startNode=new node(null,si); static int[] ei={3,3,3}; static node endNode=new node(null,ei); static Vector nodeList=new Vector( ); //记录已经走过的节点 public static void main(String[] args){ node leaf=depthFirstSearch(startNode); } public static node depthFirstSearch(node curNode){ //深度优先 if(______) return (______) ; nodeList.add(curNode); curNode.setSons(nodeList); node[] sons=curNode.getSons(); if(sons==null) return null; ; } class node{ int depth; node father; node[] sons=null; int[] platePosition=new int[3]; node(node father,int[] platePosition){ this.father=father; if(this.father==null) this.depth=1; else this.depth=this.father.depth+1; for(int i=0;i<this.platePosition.length;i++) this.platePosition[i]=platePosition[i]; } public void setSons(Vector nodeList){ Vector v=new Vector(); //移动最大的圆盘 if(platePosition[0]!=platePosition[1] && platePosition[0]!=platePosition[2] && platePosition[1]==platePosition[2]){ int[] p={______}; v.add(new node(this,p)); } //移动第二大的圆盘 if(platePosition[1]!=platePosition[2]){ int[] p={ ______ }; v.add(new node(this,p)); } //移动最小的圆盘 for(int i=1;i<=3;i++) if(platePosition[2]!=i){ int[] p={ platePosition[0] , platePosition[1] , i }; v.add(new node(this,p)); } if(v.size()>0){ //已经走过的节点不允许再走 for(int i=0;i<nodeList.size();i++) for(int j=0;j<v.size();j++) if(((node)nodeList.elementAt(i)).equalNode((node)v.elementAt(j))) ______; this.sons=new node[v.size()]; this.sons=(node[])v.toArray(this.sons); } } public node[] getSons(){ return this.sons; } public boolean equalNode(node n){//用于比较两个节点的platePosition 是否相同 for(int i=0;i<3;i++) if(______) return false; return true; } }
-
甲、乙、丙、丁4人共同出资15万元设立了一家科技开发服务有限责任公司,其中甲出资8万元、乙出资4万元、丙出资2万元、丁出资1万元。甲、乙、丙、丁4人现欲制定公司的章程,丁因儿子突然发高烧离开。甲说“无所谓,公司的章程大家都谈得差不多了,而且丁只出资1万元,有没有他参与制定公司的章程无所谓”,于是,其他3人起草了公司章程。该章程的内容包括:(1)公司的名称和住所;(2)公司经营范围;(3)公司的注册资本;(4)股东的权利与义务;(5)股东的出资方式与出资额;(6)公司的机构及产生办法、职权、议事规则;(7)公司的解散与清算办法。根据以上情况,请回答下列问题:
-
简析李斯《谏逐客书》的艺术特色。
-
蛋黄酱的生产技术和影响蛋黄酱的质量因素
-
中继器的作用包括()。
-
患者,男,36岁。项后及上眼睑皮肤瘙痒已有3年,皮损呈增厚、干燥、席纹状,稍有脱屑,自觉阵发性奇痒,入夜尤甚。其诊断是()
-
高血压脑病是指()。
-
某男性结核性腹膜炎患者,在抗痨治疗中出现失眠、神经错乱,产生这种不良反应的药物可能是( ) A.利福平 B.异烟肼 C.乙胺丁醇 D.吡嗪酰胺 E.对氨基水杨酸
-
恶性心率失常的病情评估中,有决定性作用的是
-
根据中国肥胖问题工作组建议,判断我国成年人肥胖的体重指数界值是()