Cod sursa(job #2087713)

Utilizator abitlazyabitlazy abitlazy Data 14 decembrie 2017 01:35:20
Problema Generare de permutari Scor 20
Compilator java Status done
Runda Arhiva educationala Marime 0.98 kb
import java.io.*;
import java.util.*;

public class Main {
	private static final String INPUT_FILE_PATH = "permutari.in";
	private static final String OUTPUT_FILE_PATH = "permutari.out";

	public static void main(String[] args) throws IOException {
		Scanner in = new Scanner(new FileReader(INPUT_FILE_PATH));
		PrintWriter out = new PrintWriter(OUTPUT_FILE_PATH);
		int n = in.nextInt();
		List<Integer> list = new ArrayList<>();
		for (int i = 1; i <= n; ++i) {
			list.add(i);
		}
		MathUtils.permute(list, 0, out);
		out.flush();
		in.close();
		out.close();
	}

	static class MathUtils {

		public static void permute(List<Integer> list, int step, PrintWriter out) {
			for (int i = step; i < list.size(); ++i) {
				Collections.swap(list, i, step);
				permute(list, step + 1, out);
				Collections.swap(list, i, step);
			}
			if (step == list.size() - 1) {
				for (Integer nbr : list) {
					out.print(nbr + " ");
				}
				out.println();
			}
		}

	}

}