Cod sursa(job #2108342)

Utilizator epermesterNagy Edward epermester Data 18 ianuarie 2018 08:39:52
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include <fstream>
using namespace std;
bool visited[8];

int main()
{
    ifstream in("permutari.in");
    ofstream out("permutari.out");
    short N;
    in>>N;
    short k=0,result[8]={-1,-1,-1,-1,-1,-1,-1,-1};
    while(k>=0){
        bool t=false;
        for(short i=result[k]+1;i<N;++i)
            if(!visited[i]){
                result[k]=i;
                visited[i]=true;
                t=true;
                break;
            }
        if(t==false || k==N-1){
            if(k==N-1){
                for(short i=0;i<N;++i)
                    out<<result[i]+1<<" ";
                out<<"\n";
            }
            visited[result[k]]=false;
            result[k--]=-1;
            if(k>=0)visited[result[k]]=false;
        }
        else
            k++;
    }
}