Cod sursa(job #1908821)

Utilizator alexppPopovici Alexandru alexpp Data 7 martie 2017 10:36:09
Problema Combinari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.1 kb
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
ifstream f("combinari.in");
ofstream g("combinari.out");
int x[30],i,k,j,val,n,q,l;
double a[30];
double p,s=0;
void afis(int a[30],int n)
{
    for(i=1;i<=n;i++)
        cout<<a[i]<<' ';
    cout<<"\n";
}
void A(int i)
{
    int maxi=0;
    for(int j=1;j<=i-1;j++)
        maxi=x[j];
    for(int val=1+maxi;val<=n;val++)
    {
        x[i]=val;
        for(int v=1;v<=i;v++)
        {
            swap(x[v],x[i]);
            if(i<k)
                A(i+1);
            else
            {
                p=1;
                for(q=1;q<=k;q++)
                    p=p*a[x[q]];
                s=s+p;
            }
            swap(x[v],x[i]);
        }
    }
}
int fac(int n)
{
    int p=1;
    while(n)
    {
        p=p*n;
        n--;
    }
    return p;
}
void C(int i)
{
    int j;
    for(j=x[i-1]+1;j<=n-k+i;j++)
    {
        x[i]=j;
        if(i<k)
            C(i+1);
        else
            afis(x,k);
    }
}
int main()
{
    f>>n;
    f>>k;
    C(1);
    return 0;
}