Cod sursa(job #1577275)

Utilizator preda.andreiPreda Andrei preda.andrei Data 23 ianuarie 2016 12:58:00
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <cstdio>

using namespace std;

FILE *fin = fopen("permutari.in", "r");
FILE *fout = fopen("permutari.out", "w");

bool ocupat[12];
char s[30];

void backtracking(int poz, int n){
    for(int i=1; i<=n; ++i){
        if(!ocupat[i]){
            ocupat[i] = true;
            s[2*poz-2] = '0' + i;
            s[2*poz-1] = ' ';

            if(poz == n){
                s[2*n] = '\0';
                fprintf(fout, "%s\n", s);
            }
            else backtracking(poz+1, n);
            ocupat[i] = false;
        }
    }
}

int main()
{
    int n;

    fscanf(fin, "%d", &n);
    backtracking(1, n);

    return 0;
}