Delete TaskCosts.java
This commit is contained in:
parent
96ad920ce5
commit
8f78a3fe6c
@ -1,118 +0,0 @@
|
||||
package projectb;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.util.Scanner;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author dimig
|
||||
*/
|
||||
public class TaskCosts {
|
||||
|
||||
private Scanner scanner;
|
||||
private File file;
|
||||
|
||||
private int tasks;
|
||||
private int vms;
|
||||
|
||||
private int[][] vmsPer;
|
||||
private int[][] vmsCom;
|
||||
private int[][] costs;
|
||||
|
||||
|
||||
private TaskCosts(String nameOfInputFile) throws FileNotFoundException{
|
||||
File file = new File(nameOfInputFile);
|
||||
scanner = new Scanner(file);
|
||||
tasks = scanner.nextInt();
|
||||
vms = scanner.nextInt();
|
||||
costs = new int[tasks][vms];
|
||||
vmsPer = new int[tasks][vms];
|
||||
vmsCom = new int[vms][vms];
|
||||
for(int i=0;i<tasks;i++){
|
||||
for(int j=0;j<vms;j++){
|
||||
vmsPer[i][j]=scanner.nextInt();
|
||||
}
|
||||
}
|
||||
for(int i=0;i<vms;i++){
|
||||
for(int j=0;j<vms;j++){
|
||||
vmsCom[i][j] = scanner.nextInt();
|
||||
}
|
||||
}
|
||||
for(int i=0;i<vms;i++){
|
||||
costs[0][i]=vmsPer[0][i];
|
||||
}
|
||||
for(int i=1;i<tasks;i++){
|
||||
for(int j=0;j<vms;j++){
|
||||
costs[i][j]=0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public int getTasks(){
|
||||
return tasks;
|
||||
}
|
||||
|
||||
|
||||
public int findMin(int[] table){
|
||||
int min=table[0];
|
||||
for(int i=1;i<vms;i++){
|
||||
if(table[i]<min){
|
||||
min = table[i];
|
||||
}
|
||||
}
|
||||
return min;
|
||||
}
|
||||
|
||||
|
||||
public boolean lineContainsZero(int line){
|
||||
for(int i=0;i<vms;i++){
|
||||
if(costs[line][i]==0){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public void produceCost(int line){
|
||||
if(line<tasks){
|
||||
if(line-1==0 || !lineContainsZero(line-1)){
|
||||
int[] table = new int[vms];
|
||||
for(int i=0;i<vms;i++){
|
||||
for(int j=0;j<vms;j++){
|
||||
table[j]=costs[line-1][j] + vmsPer[line][i] + vmsCom[i][j];
|
||||
}
|
||||
int min = findMin(table);
|
||||
costs[line][i]=min;
|
||||
}
|
||||
produceCost(line+1);
|
||||
}
|
||||
else{
|
||||
produceCost(line-1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void printCost(){
|
||||
for(int i=0;i<tasks;i++){
|
||||
for(int j=0;j<vms;j++){
|
||||
System.out.print(costs[i][j]+" ");
|
||||
}
|
||||
System.out.println();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static void main(String[] args) throws FileNotFoundException {
|
||||
if (args.length != 1){
|
||||
System.out.println("Insert the input file");
|
||||
return;
|
||||
}
|
||||
TaskCosts obj = new TaskCosts(args[0]);
|
||||
obj.produceCost(obj.getTasks()-1);
|
||||
obj.printCost();
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user