Cod sursa(job #2436189)

Utilizator BogdanRazvanBogdan Razvan BogdanRazvan Data 4 iulie 2019 22:03:32
Problema Submultimi Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <bits/stdc++.h>

using namespace std;
int ans[17], n, cate;
bool check(int k)
{
    for(int i = 1; i < k; ++i) if(ans[i] == ans[k]) return 0;
    for(int i = 1; i < k; ++i) if(ans[i] > ans[k]) return 0;
    return 1;
}
void solve(int k)
{
    for(int i = 1; i <= n; ++i) {
            ans[k] = i;
            if(check(k)) {
                    for(int i = 1; i <= k; ++i) printf("%d ", ans[i]);
                    printf("\n");
                    if(k != n) solve(k + 1);
            }
    }
}
int main()
{
    freopen("submultimi.in", "r", stdin);
    freopen("submultimi.out", "w", stdout);
    scanf("%d", &n);
    solve(1);
    return 0;
}