アットウィキロゴ

kul

class pro{

int s,sx,s1,s2,sx1,sx2;
double[][] a=new double[51][51];
int[] gr=new int[51];
int[][] route=new int[51][51];
double mx,minmx;
int t;

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

pro(){

for(s=1;s<51;s++){
for(sx=1;sx<51;sx++){
a[s][sx]=s*sx;
}
}


for(s=1;s<51;s++){
gr[s]=s;
}


for(s=1;s<51;s++){
route[50][s]=gr[s];
}



for(t=1;t<50;t++){

sx1=0;
sx2=0;
minmx=9999;
for(s1=1;s1<51;s1++){
for(s2=1;s2<51;s2++){
mx=met(s1,s2);
if(s1==s2)mx=9999;
if(mx<minmx)sx1=s1;
if(mx<minmx)sx2=s2;
if(mx<minmx)minmx=mx;
}
}

for(s=1;s<51;s++){
if(gr[s]==sx2)gr[s]=sx1;
}

for(s=1;s<51;s++){
route[50-t][s]=gr[s];
}




}




}

double met(int s1,int s2){
int t,tx,h;
double minx,mx;
minx=9999;
for(t=1;t<51;t++){
for(tx=1;tx<51;tx++){
mx=9999;
h=0;
if(gr[t]==s1)h=h+1;
if(gr[tx]==s2)h=h+1;
if(h==2)mx=a[t][tx];
if(mx<minx)minx=mx;
}
}
return minx;
}


}        
最終更新:2011年06月23日 14:07