diff --git a/Dynamic Programming/MatrixChainMultiplication.java b/Dynamic Programming/MatrixChainMultiplication.java index b22312355..d84ecf229 100644 --- a/Dynamic Programming/MatrixChainMultiplication.java +++ b/Dynamic Programming/MatrixChainMultiplication.java @@ -1,120 +1,134 @@ import java.util.ArrayList; +import java.util.Arrays; import java.util.Scanner; -public class MatrixChainMultiplicationTest { - private static Scanner scan = new Scanner(System.in); - private static ArrayList mArray = new ArrayList<>(); - private static int size; - private static int[][] m; - private static int[][] s; - private static int[] p; - - public static void main(String[] args) { - int count = 1; - while(true) { - String [] mSize = input("input size of matrix A("+count+") ( ex. 10 20 ) : "); - int col = Integer.parseInt(mSize[0]); - if (col==0) break; - int row = Integer.parseInt(mSize[1]); - - Matrix matrix = new Matrix(count, col, row); - mArray.add(matrix); - count++; - } - for(Matrix m : mArray) { - System.out.format("A(%d) = %2d x %2d\n", m.count(), m.col(), m.row()); - } - - size = mArray.size(); - m = new int[size + 1][size + 1]; - s = new int[size + 1][size + 1]; - p = new int[size + 1]; +public class MatrixChainMultiplication { + private static Scanner scan = new Scanner(System.in); + private static ArrayList mArray = new ArrayList<>(); + private static int size; + private static int[][] m; + private static int[][] s; + private static int[] p; - for (int i=0; i