Cod sursa(job #3339619)

Utilizator BidonTurtitBezdedan Eric BidonTurtit Data 9 februarie 2026 11:28:41
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.95 kb
#include <iostream>
#include <fstream>
 using namespace std;

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

 int n,x[25],m;
 void afisare()
 {
    for(int i=1;i<=m;i++)
    {
        fout<<x[i]<<" ";
    }
    fout<<"\n";
 }

 bool valid(int k)
 {
     for(int i=1;i<=k;i++)
     {
         if((x[i]==x[k] && i!=k) || x[i-1]>x[i])
         return 0;
     }
     return 1;
 }
 void comb(int n)
 {
     int k=1;
     x[k]=1;
     while(k>0)
     {
        if(x[k]<=n)
        {
            if(valid(k))
            {
                if(k==m)
                {
                    afisare();
                    x[k]++;
                }
                else
                {
                    x[++k]=1;
                }
            }
            else
                x[k]++;
        }
        else
            x[--k]++;
     }
 }

 int main()
 {
     fin>>n>>m;
     comb(n);
     return 0;
 }