《动态规划求解矩阵连乘问题java实现》由会员分享,可在线阅读,更多相关《动态规划求解矩阵连乘问题java实现(4页珍藏版)》请在金锄头文库上搜索。
1、动态规划求解矩阵连乘问题 JAVA 实现import java.io.*;/输入类class Testiopublic static double readDouble()tryreturn Double.valueOf(readString().trim().doubleValue();catch(NumberFormatException ne)System.err.println(Console.readDouble:Not a double.);System.exit(-1);return 0.0;public static int readInt()tryreturn Integer
2、.valueOf(readString().trim().intValue();catch(NumberFormatException ne)System.err.println(Console.readInt:Not an integer.);System.exit(-1);return -1;public static String readString()String string=new String();BufferedReader in=new BufferedReader(new InputStreamReader(System.in);trystring=in.readLine
3、();catch(IOException e)System.out.println(Console.readInt:Not an integer.); System.exit(-1);return string;/public class Juzhenpublic static void Matrix(int p,int n,int m,int s)for(int i=1;i=n;i+)mii=0;for(int r=2;r=n;r+)for(int i=1;i=n-r+1;i+)int j=i+r-1;mij=mi+1j+pi-1*pi*pj;sij=i;for(int k=i+1;kj;k
4、+)int t=mik+mk+1j+pi-1*pk*pj;if(tmij)mij=t;sij=k;/for(int i=1;i=n;i+)for(int j=1;j=n;j+)System.out.print(mij+t);System.out.println();System.out.println();System.out.println();for(int i=1;i=n;i+)for(int j=1;j=n;j+) System.out.print(sij+t);System.out.println();public static void TrackBack(int i,int j,
5、int s)if(i=j) System.out.print(A+i);return ; if(isij)System.out.print();TrackBack(i,sij,s);if(isij)System.out.print();if(sij+1j)System.out.print();TrackBack(sij+1,j,s);if(sij+1j)System.out.print();/cout(Ai*Asij;/cout)A(sij+1)*Ajendl;public static void main(String args) System.out.println();System.ou
6、t.println(¥欢迎使用矩阵连乘问题¥);System.out.println(By meter!);System.out.println(请输入矩阵个数:);int n=Testio.readInt();System.out.println(请输入+n+ 个矩阵的维数:);System.out.println(温馨提示:维数的个数应为:+(n+1)+);int p=new int100;for(int i=0;i=n;i+) pi=Testio.readInt();/ System.out.println(pi);System.out.println();int m=new int100100;int s=new int100100;Matrix(p,n,m,s);TrackBack(1,n,s);