请教JAVA大神,我这个八皇后问题代码如何修改?不求新代码,...
发布网友
发布时间:2024-03-01 09:33
我来回答
共1个回答
热心网友
时间:2024-06-13 21:50
问题很多
第一个问题,你这里一排有多个1 是因为循环的判断错误。}while(a[c][temp]==1); 应该改成}while(a[c][temp]==0);
第二个问题, 你没有退出最里层循环的步骤,这样导致,只要数据不和第一排冲突,就会通过。你应该在每个 a[c][d]=0; 后加上 break;
第三个问题,也是最大的问题。你为什么要用随机数。8皇后不是怎么摆都会成功的,有可能中途就卡死了。用随机数碰上卡死的话就会死循环了。你应该在一定实验后放弃当前的摆法。这个改动就比较大了,没法直接改了。