Cod sursa(job #1447692)

Utilizator serbanadiSerban serbanadi Data 4 iunie 2015 23:36:40
Problema Generare de permutari Scor 0
Compilator java Status done
Runda Arhiva educationala Marime 1.43 kb
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

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

/**
 *
 * @author Serban
 */
public class permu {

    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();
    }
}