Cod sursa(job #1467705)

Utilizator mihaiadelinamihai adelina mihaiadelina Data 3 august 2015 23:30:01
Problema Generare de permutari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>
using namespace std;

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

int n, v[20];

// Afiseaza primele k elemente ale vectorului v;
void write(int k) {
    int i;
    for (i = 1; i <= k; i++) {
        fout << v[i] << " ";
    }
    fout << "\n";
}
/* n = 3;

   b(1) 1
   b(1) -> b(2) 1 2
   b(1) -> b(2) -> b(3) 1 2 3
   b(1) -> b(2) -> b(3) -> b(4)
   b(1) -> b(2) -> b(3)
   b(1) -> b(2) 1 3
   b(1) -> b(2) -> b(3)
   b(1) -> b(2)
   b(1) 2
   b(1) -> b(2) 2 3
   b(1) -> b(2) -> b(3)
   b(1) -> b(2)
   b(1) 3
   b(1) -> b(2)
   b(1)  2
*/
void backtracking(int k) {
    int i;
    for (i = v[k - 1] + 1; i <= n; i++) {
        v[k] = i;
        write(k);
        backtracking(k + 1);
    }
}

int main() {
    fin >> n;
    backtracking(1);
    return 0;
}