十二皇后要剪枝
场景:~/work/bt/queens.cpp 数 n 皇后的解数:它把每一行的列号全排好,排满之后才检查斜线。n 小的时候对,n = 12 就跑不完。
任务:改写 queens.cpp,放之前就检查列和两条斜线,让 n = 12 在 2 秒内跑完、结果不变。make 编译(-O2),time ./queens <<< 12 自己计时。
可操作范围:只在分给你的这台实验机上操作。可以改家目录里的任何东西,不要动系统目录。实验机不连网。写代码用 vim 或 nano 都行。
提交:做完在终端里运行 ~/check——它会真的运行你的程序,用每次现造的随机数据和本次实验的固定数据对拍;全部通过才打印一个 8 位标记。只提交那 8 位标记本身(形如 7F3A91C2),不要提交说明文字。大小写不限。
⚠️ 提交预算:这次实验最多可以提交错 3 次。用完需要重新开始实验——环境和答案都会变。
完成条件:提交内容与本用户、本次实验环境生成的预期结果一致。
全部评论