Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * 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.
- */
- package jobassignment;
- import java.util.ArrayList;
- /**
- *
- * @author Whoami
- */
- public class JobAssignment {
- public ArrayList<String> performPermutations(String s){
- ArrayList<String> arrayList;
- arrayList = new ArrayList<>();
- if(s == null){
- return null;
- }else if(s.length() == 0){
- arrayList.add("");
- return arrayList;
- }else{
- for(int i = 0; i< s.length(); i++){
- ArrayList<String> remaining = performPermutations(s.substring(0,i)+ s.substring(i + 1));
- for(int j = 0; j < remaining.size(); j++){
- arrayList.add(s.charAt(i) + remaining.get(j));
- }
- }
- return arrayList;
- }
- }
- public static int[] konversi(String a){
- int[]ind=new int[a.length()];
- for(int i = 0; i < a.length(); i++){
- switch (a.charAt(i)) {
- case '1':
- ind[i]=1;
- break;
- case '2':
- ind[i]=2;
- break;
- case '3':
- ind[i]=3;
- break;
- case '4':
- ind[i]=4;
- break;
- default:
- ind[i]=5;
- break;
- }
- }
- return ind;
- }
- /**
- * @param args the command line arguments
- */
- public static void main(String[] args) {
- int [][]data = {{5,7,4,3},{10,9,7,6},{2,4,5,3},{3,1,2,3}};
- JobAssignment p = new JobAssignment();
- ArrayList<String> arr = p.performPermutations("1234");
- int kecil = 1000;
- String benar = arr.get(0);
- for(int i = 0; i < arr.size(); i++){
- String a = arr.get(i);
- int []ind = konversi(a);
- int nData = (ind.length);
- int total = 0;
- for(int j=0;j<nData;j++){
- int z=ind[j]-1;
- total=total+data[z][j];
- }
- if(kecil>total){
- kecil = total;
- benar = a;
- }
- }
- System.out.println("Urutan pekerja = " + benar);
- System.out.println("Cost total pekerjaan= " + kecil);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement