图a
解决该问题的算法思想如下:
①从第一行开始逐行放置棋子。
②每行从左到右逐列尝试放置棋子,放置之前与已放置的棋子作比对。
③若无冲突,放置该行棋子并跳转至下一行。
④若有冲突,则在本行中向右继续寻找放置棋子的位置,若找不到则返回上一行,重新寻找棋子放置位置。
⑤最后一行放置结束,输出一种方案并继续寻找下一方案。用 VB程序实现该算法,程序界面设计如图b所示。
图b