Cod sursa(job #1841531)

Utilizator lorena1999Marginean Lorena lorena1999 Data 5 ianuarie 2017 18:25:05
Problema Submultimi Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.95 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream f("submultimi.in");
ofstream g("submultimi.out");

int n, stiv[100000];

void tipar(int nn)
    {
        for(int i=1; i<=nn; i++)
            g<<stiv[i]<<" ";
        g<<endl;
    }

bool verif(int nn)
    {
        for(int i=1; i<nn; i++)
            for(int j=i+1; j<=nn; j++)
                if(stiv[i]==stiv[j])
                    return false;
        return true;
    }
bool verif2(int nn)
    {
        for(int i=1; i<nn; i++)
            for(int j=i+1; j<=nn; j++)
                if(stiv[i]>stiv[j])
                    return false;
        return true;
    }

void bk(int p)
    {
        if(p>n)
            return;
        for(int i=1; i<=n; i++)
        {
            stiv[p]=i;
            if(verif(p)&& verif2(p))
                tipar(p);
            bk(p+1);
        }
    }

int main()
    {
        f>>n;
        bk(1);
    }