DFS 模板,不要试图去理解它,感受它!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
vector<vector<int>> ans; // 结果集合
void dfs(从什么里面找, 去哪找(第几层/第几个字符), 找什么, path结果) {
if(找到一个结果) {
ans.push_back(path); // 加入到结果集里
return;
}
if(剪枝条件) {
return;
}
for(int i=起点;条件;i++) {
...;
dfs(从什么里面找, 下一层, 下一层要找的, path 结果);
...;
}
}