Cod sursa(job #1692171)

Utilizator GeorginskyGeorge Georginsky Data 20 aprilie 2016 12:25:39
Problema Submultimi Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <iostream>
#include <fstream>
#include <bitset>
using namespace std;
ifstream in("submultimi.in");
ofstream out("submultimi.out");
int n, a[17];
bitset<17> u;
void print(int x){
    for(int i=1; i<=x; i++)out<<a[i]<<" ";
    out<<"\n";
}

void backtrack(int x){
    if(x>n)return;
    for(int i=1; i<=n; i++){
        if(u[i]==0&&i>a[x-1]){
            u[i]=1;
            a[x]=i;
            print(x);
            backtrack(x+1);
            u[i]=0;
        }
    }
}

int main(){
    in>>n;
    backtrack(1);
    return 0;
}