本文主要是介绍USACO Section 1.5 Checker Challenge,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题意:
N皇后问题 输出 字典序最小的3种解法 和 解的数量
思路:
dfs去放皇后判断和前面的皇后是否冲突
题目时间卡的超级很近!! 简单的搜索一定跪 能剪的地方要拼命剪枝!!
列举我的剪枝:
1.直接按字典序搜索 最先搜到的3个解保证字典序最小 直接输出
2.通过上几行皇后的放法 求出现在这行有几个位置能放皇后 之后进行搜索(这是关键!! 千万不要先搜位置然后判断能不能放 仔细体会差别 其实先搜放法可以降一次for)
代码:
/*
ID: housera1
PROG: checker
LANG: C++
*/
#include<cstdio>
#
这篇关于USACO Section 1.5 Checker Challenge的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!