Cod sursa(job #2027916)

Utilizator R.DavidDavid Rusu R.David Data 26 septembrie 2017 21:13:26
Problema Combinari Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 1.07 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream in("combinari.in");
ofstream out("combinari.out");

int n,k,com[100],vis[100];

void combinari(int, int);

int main()
{
    int pas = 1;
    in>>n>>k;
    combinari(1,n);

}

void combinari(int pas ,int endy)
{
    int i;
    bool cresc = true;

    if(endy == 0)
    {
        endy = n;
    }

    if(pas > k)
    {
        for(i = 1; i < k; i++)
        {
            if(com[i] > com[i + 1])
            {
                cresc = false;
                break;
            }
        }

        if(cresc == true)
        {
            for(i = 1; i <= k; i++)
            {
                out<<com[i]<<" ";
            }
            out<<"\n";
        }

        endy--;
    }
    else
    {
     for(i = 1; i <= n; i++)
        {
            if(!vis[i] && i != endy)
            {
                vis[i] = 1;
                com[pas] = i;
                combinari(pas + 1,endy);
                vis[i] = 0;
            }
            endy--;
        }
    }
}