Cod sursa(job #697218)

Utilizator serediucctinserediuc constantin serediucctin Data 28 februarie 2012 23:09:42
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <fstream>
#include<iostream>

using namespace std;
int n,v[20],x;
ofstream f("combinari.out");
int sol(int k)
{
    return (k==x);
}
int valid(int k)
{
    for(int i=1;i<=k-1;i++)
    if(v[k]==v[i])
    return 0;
    for(int i=1;i<=k-1;i++)
    if(v[i]>v[i+1])
    return 0;
    return 1;
}
void tipar(int k)
{
    for(int i=1;i<=k;i++)
f<<v[i]<<" ";
f<<"\n";

}
void back()
{
    for(int i=0;i<n;i++)
    v[i]=0;
    int k=1;
    while(k>0)
    {
        while(v[k]<n)
        {
            v[k]++;
            if(valid(k))
            if(sol(k))
            tipar(k);
            else
            k++;
        }
        v[k--]=0;
    }
}

int main()
{fstream g("combinari.in",ios::in);

g>>n>>x;
back();

    return 0;
}