Cod sursa(job #1447695)

Utilizator serbanadiSerban serbanadi Data 4 iunie 2015 23:46:09
Problema Generare de permutari Scor 0
Compilator java Status done
Runda Arhiva educationala Marime 1.19 kb

import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;

class permu {

    int n;
    int[] v;
    static PrintWriter out;
    static Scanner in;

    public static void main(String[] Args) throws FileNotFoundException {
        permu p = new permu();
        permu.in = new Scanner("permutari.in");
        permu.out = new PrintWriter("permutari.out");
        p.n = permu.in.nextInt();
        p.v = new int[p.n];

        p.permuare(0);

        permu.in.close();
        permu.out.close();
    }

    public void permuare(int k) {
        if (k < n) {
            for (int i = 0; i < n; i++) {
                v[k] = i + 1;
                if (verif(k)) {
                    permuare(k + 1);
                }
            }
        } else {
            afisare();
        }

    }

    private boolean verif(int k) {
        for (int i = 0; i < k; i++) {
            if (v[i] == v[k]) {
                return false;
            }
        }
        return true;
    }

    private void afisare() {
        for (int i = 0; i < n; i++) {
            permu.out.print(v[i] + " ");
        }
        permu.out.println();
    }
}