1. 题目
2. 题解
就是个搜索题。。。
必须加很多剪枝。。。
剪枝剪去我们的疯狂
——膜你抄
我搞了这几个剪枝:
1. 答案必然在最短的长度到长度之和之间。见代码第 29 行。
2. 当前枚举的答案必然可以整除长度之和。见代码第 30 行。
3. 拼一根目标棍子时,枚举过小木棍不再枚举。见代码第 9 行。
4. 如果当前最长的那根木棍刚好可以完成当前正在拼的目标木棍,但是却无法完成任务,直接返回失败。见代码第 15 行。
5. 如果当前的正在拼的目标棍子还没有被拼凑过(即它的剩余长度等于目标长度),但是向下搜索返回的是失败,则直接返回失败。见代码第 15 行。
6. 如果用当前棍子去拼凑当前正在拼的目标棍子返回的是失败,则说明这种棍子去都是失败的,剪掉。见代码第 16 行。
这题数据有误,需要在读入时过滤掉。
代码:
0 条评论