Cod sursa(job #1131566)

Utilizator alexteStefanescu Alexandru Catalin alexte Data 28 februarie 2014 21:41:51
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <stdio.h>
int n,p,i,x[20];
using namespace std;
void citire()
{
    scanf("%d %d",&n,&p);
}
void afisare(int x[], int k)
{
    int i;
    for(i=1;i<k;i++)
    {
        printf("%d ",x[i]);
    }
    printf("\n");
}
int verificare(int x[],int k)
{
    if(k>1 && !(x[k-1]<x[k]))
        return 0;
    else
        return 1;
}
void combinari(int x[],int k)
{
    int i;
    if(k==p+1)
        afisare(x,k);
    else
    {
        for(i=1;i<=n;i++)
        {
            x[k]=i;
            if(verificare(x,k))
                combinari(x,k+1);
        }
    }
}
int main()
{
    freopen ("combinari.in","r",stdin);
    freopen ("combinari.out","w",stdout);
    citire();
    combinari(x,1);
    fclose(stdin);
}