穷举vs暴搜vs深搜vs回溯vs剪枝刷题 + 总结题目链接1. 画一颗决策树 2. 全局变量: int[ ][ ] ret:用于存结果的二维数组 int[ ] path:用于存每次路径的答案 bool[ ] check:判断这个数是否已经用过,用于剪枝,剪掉重复的,比如不可能出现1 1 2,就把第二个1剪掉了 3. 设计dfs函数:只需要关心某个节点在干什么即可,其实这题关心某一条路径就可以写出dfs函数 4. 回溯: 1、把path的最后一个元素干掉 2、把最后这个元素的bool改为false(修改check数组) 剪枝: 1、bool[ ] chec