アットウィキロゴ

lpJc

class lp{

double[][] a=new double[4][6];
double[] b=new double[4];
int h,m,n,nx,mx;
double maxn,minm,u,z;
int s,s1,s2,t;

public static void main(String [] args) {
        lp test=new lp();
            }

lp(){

a[1][1]=60;
a[1][2]=40;
a[2][1]=20;
a[2][2]=30;
a[3][1]=20;
a[3][2]=10;
a[1][3]=1;
a[2][4]=1;
a[3][5]=1;
b[1]=3800;
b[2]=2100;
b[3]=1200;

a[0][1]=400;
a[0][2]=300;

t=0;
while(t<100){

nx=makenx();

System.out.println(nx);

mx=0;
if(nx>0)mx=makemx();

System.out.println(mx);

if(mx>0)mat();

System.out.println(b[0]);

if(nx<1)t=1000;
}

}


void mat(){

for(m=0;m<4;m++){
z=a[m][nx]/a[mx][nx];
if(m==mx)z=0;
for(n=1;n<6;n++){
a[m][n]=a[m][n]-z*a[mx][n];
}
b[m]=b[m]-z*b[mx];
}

}

int makemx(){
minm=9999;
mx=0;
for(m=1;m<4;m++){
h=0;
u=a[m][nx];
if(u==0)u=1;
if(a[m][nx]>0)h=h+1;
if(b[m]/u<minm)h=h+1;
if(h==2)minm=b[m]/a[m][nx];
if(h==2)mx=m;
}
return mx;
}

int makenx(){
maxn=0;
nx=0;
for(n=1;n<6;n++){
if(a[0][n]>maxn)nx=n;
if(a[0][n]>maxn)maxn=a[0][n];
}
return nx;
}
}
最終更新:2011年07月12日 12:12