作业介绍
#include<bits/stdc++.h>
using namespace std;
int n=7,m,v[10],a[10];//v[i]=1 选过 a数组保存答案
void dfs(int step){//step当前的层数
if(step==n+1){
//输出数组
for(int i=1;i<=n;i++) cout<<a[i]<<" ";
cout<<endl;
return ;
}
//从1----n选取数字
for(int i=1;i<=n;i++){
if(v[i]==0){//没有被选过
a[step]=i;//把当前选取的i存放在第step层
v[i]=1; //标记已被选过
dfs(step+1);//递归到下一层选数
v[i]=0;//回溯撤销标记
}
}
}
int main(){
dfs(1);//从第一层开始选取数字
return 0;
}
ac!
- 状态
- 已结束
- 题目
- 6
- 开始时间
- 2025-3-8 0:00
- 截止时间
- 2025-3-31 23:59
- 可延期
- 24 小时