Cod sursa(job #1916441)

Utilizator duesakBourceanu Cristian duesak Data 9 martie 2017 09:30:56
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<fstream>
using namespace std;
ifstream fin("permutari.in");
ofstream fout("permutari.out");
int st[10],n;
bool valid(int k){
    if(st[k]>n)return false;
    for(int i=1;i<k;i++)
        if(st[k]==st[i])return false;
    return true;
}
int main(){
    int i,j,k;
    bool ok;
    fin>>n;
    k=1;
    while(k){
        ok=false;
        ++st[k];
        if(valid(k))ok=true;
        if(k==n&&ok){
            for(i=1;i<=n;i++)fout<<st[i]<<" ";
            fout<<'\n';
            k--;
        }
        else if(ok){++k;st[k]=0;}
        else if(st[k]>n) k--;
    }
    fin.close();
    fout.close();
    return 0;
}