Cod sursa(job #999810)

Utilizator toncuvasileToncu Vasile toncuvasile Data 21 septembrie 2013 15:15:05
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<fstream>
using namespace std;

ofstream outFile;


bool valid(int k);
void print();
void generare(int k);

int stiva[9];
int n;

int main(){
   ifstream inFile("permutari.in");
   inFile>>n;
   outFile.open("permutari.out");
   generare(1);
   outFile.close();

}

bool valid(int k){
   bool t=true;
   for(int i=1;i<k;i++) if(stiva[k]==stiva[i]) t=false;
   return t;
}

void print(){
  for(int i=1;i<=n;i++) outFile<<stiva[i]<<" ";
  outFile<<"\n";
}

void generare(int k){
    if(k==n+1) print();
       else for(int i=1;i<=n;i++){
           stiva[k]=i;
           if(valid(k)) generare(k+1);
       }
}