Cod sursa(job #744566)

Utilizator psycho21rAbabab psycho21r Data 9 mai 2012 02:12:50
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include<fstream>
#include<vector>
using namespace std;
vector<int> st;
vector<bool> used;
ofstream out("combinari.out");
void backtracking(int N, int K)
{
    if(st.size() == K + 1)
    {
        for(int i = 1; i < st.size(); ++i)
            out << st[i] + 1 << " ";
        out << "\n";
        return;
    }
    for(int i = 0; i < N; ++i)
    {
        if(!used[i] && st.back() < i)
        {
            used[i] = true;
            st.push_back(i);
            backtracking(N, K);
            st.pop_back();
            used[i] = false;
        }
    }
}
int main()
{
    int N, K;
    ifstream in("combinari.in");
    in >> N >> K;
    in.close();
    used.resize(N);
    st.push_back(-1);
    backtracking(N, K);
    out.close();
    return 0;
}