Pagini recente » Cod sursa (job #671320) | Cod sursa (job #805894) | Cod sursa (job #1387512) | Cod sursa (job #2967534) | Cod sursa (job #2418906)
import java.io.*;
import java.util.*;
public class Main {
public static void getPerm(Integer nr, LinkedHashSet<Integer> perm, List<LinkedHashSet<Integer>> allPerm){
if(perm.size() == nr){
allPerm.add(perm);
}
for(Integer elem = 1; elem < nr + 1; elem++){
if(!perm.contains(elem)) { // elem not already in LinkedHashSet
LinkedHashSet<Integer> newPerm = new LinkedHashSet<>(perm);
newPerm.add(elem);
getPerm(nr, newPerm, allPerm);
}
}
}
public static void main(String[] args){
File inFile = new File("permutari.in");
Integer nr = -1;
try{
Scanner sc = new Scanner(inFile);
nr = sc.nextInt();
}
catch(FileNotFoundException e){
e.printStackTrace();
}
LinkedHashSet<Integer> perm = new LinkedHashSet<>();
List<LinkedHashSet<Integer>> allPerm = new ArrayList<>();
getPerm(nr, perm, allPerm);
try {
FileWriter fw = new FileWriter("permutari.out");
PrintWriter pw = new PrintWriter(fw);
Iterator<LinkedHashSet<Integer>> it = allPerm.iterator();
while(it.hasNext()){
for(Integer i: it.next())
pw.print(i + " ");
pw.println();
}
pw.close();
}
catch(IOException e){
e.printStackTrace();
}
}
}