class lp{
double[][] a=new double[4][6];
double[] b=new double[4];
int m,n,maxm,maxn;
double maxv,minv;
double x,z;
int t;
public static void main(String args[]){
lp test=new lp();
}
lp(){
a[0][1]=2;
a[0][2]=3;
a[1][1]=4;
a[1][2]=3;
a[2][1]=1;
a[2][2]=2;
a[1][3]=1;
a[2][4]=1;
b[1]=120;
b[2]=60;
maxn=0;
for(n=1;n<5;n++){
if(a[0][n]>maxv)maxn=n;
if(a[0][n]>maxv)maxv=a[0][n];
}
System.out.println(maxn);
t=0;
while(t<100){
sol();
maxn=0;
maxv=0;
for(n=1;n<5;n++){
if(a[0][n]>maxv)maxn=n;
if(a[0][n]>maxv)maxv=a[0][n];
}
System.out.println(maxn);
System.out.println(b[0]);
if(maxn==0)t=1000;
t=t+1;
}
}
void sol(){
minv=999;
maxm=0;
for(m=1;m<3;m++){
x=9999;
if(a[m][maxn]>0)x=b[m]/a[m][maxn];
if(x<minv)maxm=m;
if(x<minv)minv=x;
}
for(m=0;m<3;m++){
z=a[m][maxn]/a[maxm][maxn];
if(m==maxm)z=0;
for(n=1;n<5;n++){
a[m][n]=a[m][n]-z*a[maxm][n];
}
b[m]=b[m]-z*b[maxm];
}
}
}
最終更新:2011年06月02日 14:40