Cod sursa(job #2405042)

Utilizator PatrickCplusplusPatrick Kristian Ondreovici PatrickCplusplus Data 13 aprilie 2019 20:48:23
Problema Combinari Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.94 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
int n, k, stiva[20];
bool viz[20];
bool Ok(int i)
{
    return viz[i] == false;
}
bool Check(){
    int copie[20];
    for (int i = 1; i <= k; ++i) copie[i] = stiva[i];
    sort(copie + 1, copie + k + 1);
    for (int i = 1; i <= k; ++i) if (copie[i] != stiva[i]) return false;
    return true;
}
void Back(int p)
{
    if (p == k + 1)
    {
        if (Check() == true)
        {
            for (int i = 1; i <= k; ++i)
            {
                fout << stiva[i] << " ";
            }
            fout << "\n";
        }
        return;
    }
    for (int i = 1; i <= n; ++i)
    {
        if (Ok(i))
        {
            viz[i] = true;
            stiva[p] = i;
            Back(p + 1);
            viz[i] = false;
        }
    }
}
int main()
{
    fin >> n >> k;
    Back(1);
    return 0;
}