Bạn cần đăng nhập mới có thể xem nội dung này
Phan Gia Khang | Chat Online
15/05/2023 21:02:11

Liệt kê mọi cách chọn n phân tử trong tập m phần tử


/*
Đề: Liệt kê mọi cách chọn n phân tử trong tập m phần tử
    + Đơn giản hóa: đặt M = {1,2,...,m}
    + Cấu hình tập hợp A = (a[1],a[2],...a[n])
    + Đơn giản hóa: a[1] < a[2] < ... < a[n]
    + S[k] = {a[k-1]+1,... m}
*/
#include <bits/stdc++.h>
using namespace std;
int a[100],n,m;

void print()
{
    for (int i = 1; i <= n ; i++) cout << " " << a[i];
    cout << endl;
}

void create(int k)
{
    if (k > n) { print(); return; }
    for (int i = a[k-1] + 1 ; i <= m-n+k ; i++)
        a[k] = i; create(k+1);
}
int main()
{
    cin >> n >> m;
    a[0] = 0;
    create(1);
    return 0;
}
mình chạy với test 3 5 nhưng chỉ ra kết quả là 3 4 5
 
Bài tập đã có 1 trả lời, xem 1 trả lời ... |
Đăng ký tài khoản để trả lời bài tập.
Đăng ký tài khoản để có thể trả lời bài tập này!

Đăng ký qua Google:

Hoặc lựa chọn:
Đăng ký bằng email, điện thoại Đăng nhập bằng email, điện thoại
Lazi.vn