#包括#包括使用命名空间标准;int a_chain[1000];//也位于树节点中int a_chainx[1000];int a_chainy[1000];int树父节点[1000];int how_deep_is_the_node[1000];bool IsNotAdjacent(int theinput,int bug,int l){int A=输入;int B=错误;整型键盘[9];整数计数,i=0;而(A!=0){焊盘[i]=A%10;A=(A-A%10)/10;i++;}for(计数=0;计数<l;计数++){if(pad[count]==1)if(错误==2或错误==4或错误==1)返回false;如果(pad[count]==2)if(bug==1或bug==3或bug==5或bug=2)返回false;if(pad[count]==3)if(错误==2或错误==6或错误==3)返回false;if(pad[count]==4)if(错误==1或错误==5或错误==7或错误=4)返回false;if(pad[count]==5)if(bug==2或bug==4或bug==6或bug==8或bug==5)返回false;if(pad[count]==6)if(bug==3或bug==5或bug==9或bug==6)返回false;if(pad[count]==7)if(错误==4或错误==8或错误==7)返回false;if(pad[count]==8)if(bug==5或bug==7或bug===9或bug===8)返回false;if(pad[count]==9)if(错误==6或错误==8或错误==9)返回false;}返回true;}bool IsSelfAvoid(int theinput,int bug){int A=输入;int B=错误;while(A%10!=B和A!=0){A=(A-A%10)/10;}如果(A%10==B&&A>0){返回false;}else{return true;}}int main(){整数i,j,k,l,ix,jx,kx,lx,z,t;int px,py,pz,a链p,a链last层;常数int pd_area=9;常数int pd_w=3;常数int pd_h=3;int键盘[3];bool键盘[3];长整型行李;int baggage_id;/*键盘初始化*/键盘[0][0]=1;键盘[0][1]=2;键盘[0][2]=3;键盘[1][0]=4;键盘[1][1]=5;键盘[1][2]=6;键盘[2][0]=7;键盘[2][1]=8;键盘[2]=9;对于(i=0;i<3;i++){对于(j=0;j<3;j++){键盘[i][j]=true;}}/*键盘初始化结束*//*树的初始化*///建造树屋树父节点[0]=-1;how_deep_is_the_node[0]=0;a_chain_p=0;对于(i=0;i<3;i++){对于(j=0;j<3;j++){a_chain_p++;a_chain[a_chains_p]=键盘[i][j];a链[a链p]=i;a链[a链p]=j;树父节点[a链p]=0;how_deep_is_the_node[a_chain_p]=1;}}int id_of_smallest_children_of_length_lminus1=1;int id_of_biggest_children_of_length_lminus1=9;/*树的初始化结束*/int thickness_of_the_last_layer=最大儿童的id _of_biggest_children_of_length_lminus1-最小儿童的id _ of_smallest_childeren_of_ngth_linus1+1;当前层的int厚度;对于(l=2;l<=5;l++){当前层的厚度=0;对于(z=id of smallest_children of length _linus1;z<=id of biggest_childeren of longth _minus1;z++){行李id=z;行李=链条[baggage_id]; 对于(i=0;i<3;i++)对于(j=0;j<3;j++)if(键盘[i][j]和IsNotAdjacent(行李,键盘[i][j],l)){a_chain_p++;a_chain[a_chains_p]=行李*10+键盘[i][j];树父节点[a链p]=行李id;how_deep_is_the_node[a_chain_p]=l;当前层的厚度++;} } id_of_smallest_children_of_length_lminus1=链p-当前层的厚度+1;id_of_biggest_children_of_length_lminus1=链p; thickness_of_the_last_layer=当前层的厚度; }/*发送主盘*/对于(t=1;t<=a_chain_p;t++){cout<<a_chain[t]<<“\n”;}返回0;}