Cod sursa(job #2108339)

Utilizator epermesterNagy Edward epermester Data 18 ianuarie 2018 08:37:25
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 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;
            k--;
            if(k>=0)visited[result[k]]=false;
        }
        else{
            k++;
        }
    }
}