信息学奥赛一本通之基础算法——第五章 搜索与回溯算法
链接索引🔗:
第五章 搜索与回溯算法
特别注意:这一章的题目相对于其他算法题目来说比较难,除动态规划外,算是最难的题目。不过,细心 + 基础扎实 + 聪明 = 成功!
废话不多说,开始!
1317:【例5.2】组合的输出
#inClude
#include
using NAMEspace std;
// dfs函数用于深度优先搜索
void dfs(int start, int n, int r, vector& combo) {
// 如果组合的长度等于r,打印当前组合
if (combo.size() == r) {
for (int i = 0; i
#include
using namespace std;
int n, r;
vector ans;
vector vis;
void dfs(int dep);
int main(){
cin >> n >> r;
ans.resize(n + 10, 0);
vis.resize(n + 10, false);
dfs(1);
return 0;
}
void dfs(int dep){
if (dep == r + 1){
for (int i = 1; i