30分求助带佬,
查看原帖
30分求助带佬,
562829
wuxinyiran楼主2022/3/12 18:52
#include <iostream>

using namespace std;

int c[10101], b[10101], m, j = 1, flag = 0, a[10101] = { 0 };
void digui(int n, int k)
{
    if (!k) {
        m--;
        if (m==-1)
        {
            flag = 1;
            for (int h = 1; h <= n; h++)
            {
                cout << b[h];
                if (h != n) cout << ' ';
            }
        }
    }
    else {
        for (int i = 1; i <= n; i++)
        {
            if (!a[i]) {
                b[j++] = c[i];
                a[i] = 1;
                digui(n, k - 1);
                if (flag == 1) return;
                a[i] = 0, j--;
            }
        }
    }
}
int main()
{
    int  n, k;
    cin >> n;
    cin >> m;
    for (int i = 1; i <= n; i++)
    {
        cin >> c[i];
    }
    k = n;
    digui(n, k);
    return 0;
}

2022/3/12 18:52
加载中...