Cod sursa(job #396882)

Utilizator cristiprgPrigoana Cristian cristiprg Data 16 februarie 2010 00:03:36
Problema Submultimi Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <cstdio>

int n, x[32], v[32];
FILE *f = fopen("submultimi.out", "w");
void afis(int n)
{
    for (int i = 1; i <= n; ++i)
        fprintf (f, "%d ", x[i]);
    fprintf (f, "\n");
}


void back(int i, int k)
{
    if (i == k + 1)
    {
        afis(k);
        return ;
    }

    for (int j = x[i - 1] + 1; j <= n; ++j)
        if (!v[j])
        {
            v[j] = 1;
            x[i] = j;
            back(i + 1, k);
            v[j] = 0;
        }
}

int main()
{
    FILE *f = fopen("submultimi.in", "r");
    fscanf(f, "%d", &n);

    for (int i =1; i <= n; ++i)
        back(1, i);


    return 0;
}