Cod sursa(job #350185)

Utilizator mika17Mihai Alex Ionescu mika17 Data 22 septembrie 2009 23:09:28
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include <stdio.h>

int main() {
    
    int N,p[9];
    
    freopen("permutari.in","r",stdin);
    freopen("permutari.out","w",stdout);
    
    scanf("%d",&N);
    
    int k = 1; p[1] = 0;
    while(k > 0) {
            
            if(p[k] < N) {
                    
                    p[k]++;        
                    
                    bool f = false;
                    for(int i = 1; i < k; ++i)
                     if(p[i] == p[k]) f = true;
                    
                    if(!f)
                        if(k == N) { 
                          for(int i = 1; i <= N; ++i)
                                  printf("%d ",p[i]);
                          printf("\n");
                        }
                        else p[++k] = 0;
            } 
            else --k;  
    }
    
    return 0;   
}