Cod sursa(job #664467)

Utilizator a96tudorAvram Tudor a96tudor Data 20 ianuarie 2012 09:55:20
Problema Combinari Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include<cstdio>
using namespace std;
int n,a[1000],sol[1000],i,l;
bool pus[1000];
void afis(int k)
{
    int i;
    for (i=1;i<=k;i++)
        printf("%d ",sol[i]);
    printf("\n");
}
bool cresc(int k)
{
    bool ok;
    ok=true;
    for (i=1;i<k;i++)
    {
        if (sol[i]>sol[i+1]) ok=false;
    }
    return ok;
}
void back(int k)
{
    int i;

        for (i=1;i<=n;i++)
            if (!pus[i]) { sol[k]=i;
                            pus[i]=true;
                            if ((k==l) && cresc(k)) afis(k);
                            back(k+1);
                            pus[i]=false;
                            }

}
int main()
{
    freopen("combinari.in","r",stdin);
    freopen("combinari.out","w",stdout);
    scanf("%d%d",&n,&l);
    back(1);
    return 0;
}