Cod sursa(job #882040)

Utilizator VladMSBonta vlad valentin VladMS Data 18 februarie 2013 20:45:08
Problema Combinari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
#include <fstream>
using namespace std;

int st[20],n,m,k,i;

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

void init(int k)
{
    st[k]=0;
}

int succesor(int k)
{
    if(st[k]<n)
    {
      st[k]++;
      return 1;
    }
    return 0;
}

int valid(int k)
{
    for(i=1;i<k;i++)
      if(st[k]==st[i]||st[i]>st[i+1])
        return 0;
    return 1;
}

int solutie(int k)
{
    if(k==m)
      return 1;
    else
      return 0;
}

void tipar()
{
    for(i=1;i<=k;i++)
      g<<st[i]<<" ";
    g<<'\n';
}

int main()
{
    k=1;init(k);
    f>>n;
    f>>m;
    while(k>0)
    {
      while(succesor(k))
      {
          if(valid(k))
          {
            if(solutie(k))
            {
              tipar();
            }
          }
          else
          {
            k++;init(k);
          }
      }
      k--;
    }
    return 0;
}