Cod sursa(job #1785338)

Utilizator OleaginoasaCristina Oleaginoasa Data 21 octombrie 2016 01:28:32
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <iostream>
#include <cstdio>
#include <cmath>
#include <vector>
#include <set>
#include <stack>
#include <algorithm>
using namespace std;

int n, p;
int combinations[20];
int vis[20];

void combinari(int k){
    if(k == p+1){
        for(int i = 1; i <= p; ++i)
            printf("%d ", combinations[i]);
        printf("\n");
    }
    
    for(int i = combinations[k-1]; i <= n ; ++i){
        if(!vis[i]){
            combinations[k] = i;
            vis[i] = 1;
            combinari(k+1);
            vis[i] = 0;
        }
    }
}

int main(){
    freopen("combinari.in", "r", stdin);
    freopen("combinari.out","w", stdout);
    
    scanf("%d %d", &n, &p);
    combinations[0] = 1;
    combinari(1);
    
    
    return 0;
}