问题标题: 酷町堂:1012 组合的输出哪里不对?

1
0
已解决
董宇昊
董宇昊
初级启示者
初级启示者
  • #include<bits/stdc++.h>
  • using namespace std;
  • int r,a[100],n;
  • void dfs(int k){//搜索第k个数
  • int i;
  • if(k>r){
  • for(i=1;i<=r;i++){
  • cout<<setw(3)<<a[i];//输出,场宽为三
  • }
  • cout<<endl;
  • return ;//回到前一层
  • }
  • for(i=a[k-1]+1;i<=n;i++){
  • a[k]=i;
  • dfs(k+1);//直接进行下一次调用
  • }
  • }
  • int main()
  • {
  • cin>>n>>r;
  • dfs(1);
  • return 0;
  • }
董宇昊在2020-05-01 14:43:25追加了内容

顶一下!


0
已采纳
刘乐宸
刘乐宸
新手天翼
新手天翼

小朋友,你是否有很多问号。


    for(int i=a[t-1]+1; i<=n; i++) {
//        if(used[i]==0) {
            a[t] = i;
//            used[i] = 1;
            dfs(t+1);
//            used[i] = 0;
//        }
    }
}

dfs函数里面这样写才行哦

0
0
0
我要回答