Cod sursa(job #3207309)

Utilizator Thomas_Paturan114Paturan Thomas Thomas_Paturan114 Data 25 februarie 2024 19:56:49
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.29 kb
/*
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("permutari.in");
ofstream out("permutari.out");
int v[10];
int n, k;
bool ok(int poz)
{
    for(int i = 1; i<poz; i++)
    {
        if(v[i] == v[poz])
        {
            return false;
        }
    }
    return true;
}
void afis()
{
    for(int i = 1; i<=n; i++)
    {
        out<<v[i]<<" ";
    }
    out<<'\n';
}
void bt(int poz)
{
    for(int i = 1; i<=n; i++)
    {
        v[poz] = i;
        if(ok(poz) == true)
        {
            if(poz == n)
            {
                afis();
            }
            else
            {
                bt(poz+1);
            }
        }
    }
}
int main()
{
    in>>n>>k;
    bt(1);
    return 0;
}
*/
#include <bits/stdc++.h>

using namespace std;
ifstream in ("combinari.in");
ofstream out ("combinari.out");
const int NMAX=20;
int n,k;
int v[NMAX];
void afis()
{
    for(int i=1;i<=k;i++)
        out<<v[i]<<" ";
    out<<'\n';
}
void combinari(int poz)
{
    for(int i=v[poz-1]+1;i<=n;i++)
    {
        v[poz]=i;
        if(poz==k)
        {
            afis();
        }
        else
            combinari(poz+1);
    }
}
int main()
{
    //v[0]=1;
    in>>n>>k;
    combinari(1);
    return 0;
}