作业介绍
递归深入
组合
using namespace std;
int a[10001];
int n,r;
void f(int x){
if(x>r){
for(int i=1;i<=r;i++) printf("%3d",a[i]);
cout << endl;
return;
}
for(int i=a[x-1]+1;i<=n;i++){
a[x]=i;
f(x+1);
}
}
int main(){
cin >> n >> r;
f(1);
return 0;
}
全排列
#include<bits/stdc++.h>
using namespace std;
int a[21];
int n;
int flag[21];
void f(int x){
if(x>n){
for(int i=1; i<=n; i++) printf("%5d", a[i]);
printf("\n");
return;
}
for(int i=1; i<=n; i++){
if(flag[i]==0) {
flag[i] = 1;
a[x] = i;
f(x+1);
flag[i] = 0;
}
}
}
int main(){
scanf("%d", &n);
f(1);
return 0;
}
- 状态
- 已结束
- 题目
- 3
- 开始时间
- 2023-10-21 0:00
- 截止时间
- 2023-10-29 23:59
- 可延期
- 24 小时