求助!!!
查看原帖
求助!!!
1086459
Ghy_boy楼主2024/3/24 08:38

想用dfs做,做了几遍样例也没通过

#include <bits/stdc++.h>
using namespace std;
bool light[105]={false};
int ans[105] = {};
int an , y , v = 0 , num = 0 , a[105] = {};
void dfs(int d){
    int h = y,az=0;
    if(d == an - 1){
        for(int i = 0;i < an; ++ i){
            cout << a[i] << " ";
        }
        return ;
    }
    else{
        for(int i = 1; i <= an; ++i){
            if(light[i] == true) az++; 
        }
        if(num + y <= an) {
            light[num + y - az] = true;
            ans[num + y - az] = a[num + y - az]; 
        }
    dfs(d+1);
    }
}
int main() {
    
    cin >> an >> y;
    for(int i = 0; i < an; i ++){
        a[i] = i+1;
    }
    
    dfs(0);
    return 0;
}

谁能帮我看一下

2024/3/24 08:38
加载中...