Cod sursa(job #1028360)

Utilizator sam09Muntean Sam sam09 Data 13 noiembrie 2013 21:52:15
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>
using namespace std;
ifstream f("permutari.in");
ofstream g("permutari.out");
int n,sol[12000];

int succesor (int k){
   if(sol[k]<n){sol[k]++; return 1;}
    else return 0;
}
int valid (int k){
    int i;
    for(i=1;i<k;i++) if (sol[k]==sol[i]) return 0;
    return 1;
}
void back(int k){
    int i;
    if (k==n+1) {for(i=1;i<=n;i++) g<<sol[i]<<" ";g<<'\n' ;}
        else
        {
            sol[k]=0;
            while(succesor(k)) if (valid(k)) back(k+1);
        }
}
int main(){
    int i;
    f>>n; back(1);
    return 0;
}