Cod sursa(job #916348)

Utilizator ionutpPala Ionut ionutp Data 16 martie 2013 13:18:25
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include<fstream>
using namespace std;

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

int X[20], P[20];
int N, T;

void Write(int k)
{
    for(int i = 1; i <= k; i++)
    fout << X[i] << " ";
    fout << '\n';
}
void Read()
{
    fin >> N >> T;
}
bool Ok(int k)
{
    if(k > 1 && X[k - 1] > X[k])
    return false;
    return true;
}
void Back(int k)
{
    for(int i = X[k - 1] + 1; i <= N; i++)
    if(!P[i])
    {
        P[i] = 1;
        X[k] = i;
        if(Ok(k) == true)
        if(k == T)
        Write(k);
        else
        Back(k + 1);
        P[i] = 0;
    }

}
int main()
{
    Read();
    Back(1);
    fin.close();
    fout.close();
    return 0;
}