Cod sursa(job #1447698)

Utilizator serbanadiSerban serbanadi Data 4 iunie 2015 23:51:13
Problema Generare de permutari Scor 0
Compilator java Status done
Runda Arhiva educationala Marime 1.21 kb
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;

public class permut {

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

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

        p.permutare(0);

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

    public void permutare(int k) {
        if (k < n) {
            for (int i = 0; i < n; i++) {
                v[k] = i + 1;
                if (verif(k)) {
                    permutare(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++) {
            permut.out.print(v[i] + " ");
        }
        permut.out.println();
    }
}