アットウィキロゴ

pinbv

package mount;
 
 
public class pro {
 
    double[] point=new double[11];
    int[][] link=new int[11][11];
    int[] number_link=new int[11];
    int s;
 
    int[] peak=new int[11];
    int number_peak;
   int[] mount=new int[11];
    int number_mount;
 
     int[] group=new int[11];
 
 
 
    public static void main(String[] args) {
        pro te=new pro();
    }
 
    pro(){
 
        number_link[1]=1;
        link[1][1]=2;
        number_link[10]=1;
        link[1][10]=9;
 
        for(s=2;s<10;s++){
        link[s][1]=s-1;
        link[s][2]=s+1;
        number_link[s]=2;  
        }
 
 
        for(s=1;s<11;s++){
        point[s]=100*Math.random();    
            }
 
        int sx,s,h,s1;
        int tx;
        tx=0;
        for(s=1;s<11;s++){
      h=0;     
      for(sx=1;sx<number_link[s]+1;sx++){
      s1=link[s][sx];       
      if(point[s1]>point[s])h=100;  
      }   
     if(h<50)tx=tx+1;       
     if(h<50)peak[tx]=s;  
        }
 
        number_peak=tx;
 
 
 
 
        for(s=1;s<number_peak+1;s++){
        s1=peak[s];
        }
 
        int tr;
 
        for(tr=1;tr<number_peak+1;tr++){
        mount sub2=new mount();
        sub2.point=point;
        sub2.link=link;
        sub2.point=point;
        sub2.number_link=number_link;
        sub2.makedata(peak[tr]);
        mount=sub2.group;
        number_mount=sub2.number_group;
        }
 
 
 
 
 
    }
 
 
 
 
}
 
 
 
package mount;
 
 
public class mount {
 
    double[] point=new double[11];
    int[][] link=new int[11][11];
    int[] number_link=new int[11];
 
    int group[]=new int[11];
    int number_group;
 
    int number_boader;
    int boader[]=new int[11];
 
    int subgroup[]=new int[11];
    int number_sub;
 
     int subboader[]=new int[11];
    int number_subboader;
 
    void makedata(int sp){
 
        group[1]=sp;
 
        number_group=1;
 
        int pre=number_group;
        int delta=0;
 
        while(delta<50){
 
            boader();
 
 
        int s;
 
 
 
        int tr=1;
        int mode=0;
 
 
       if(number_boader==0)mode=100;
 
       while(mode<50){
 
        for(s=1;s<number_group+1;s++){
        subgroup[s]=group[s];    
        }
 
        number_sub=number_group+1;
        subgroup[number_sub]=boader[tr];
 
        subboader();
 
         double minp,maxp;
         minp=99999;
         for(s=1;s<number_sub+1;s++){
         int s1=subgroup[s];
         if(point[s1]<minp)minp=point[s1];    
         }
 
         maxp=0;
         for(s=1;s<number_subboader+1;s++){
         int s1=subboader[s];
         if(point[s1]>maxp)maxp=point[s1];    
         }
 
         tr=tr+1;
    if(tr>number_boader)mode=100;
    if(minp<maxp)change();     
 
    if(minp<maxp)mode=100;
 
        }
 
        if(number_group==pre)delta=100;
 
        pre=number_group;
 
 
        }
 
 
 
    }
 
    void change(){
 
        int s;
 
    for(s=1;s<number_sub+1;s++){
    group[s]=subgroup[s];
    }    
 
    number_group=number_sub;
 
 
 
    }
 
 
 
 
    void boader(){
 
        int s,s1,sx,s2,tx;
 
        number_boader=0;
 
        int h;
 
        for(s=1;s<number_group+1;s++){
        s1=group[s];
        for(sx=1;sx<number_link[s1]+1;sx++){   
        s2=link[s1][sx];    
 
        h=0;
        for(tx=1;tx<number_boader+1;tx++){
        if(s2==boader[tx])h=100;    
        }
        for(tx=1;tx<number_group+1;tx++){
        if(s2==group[tx])h=100;    
        }
        if(h<50)number_boader=number_boader+1;
        if(h<50)boader[number_boader]=s2;
        }
        }
 
 
 
 
 
 
    }
 
    void subboader(){
 
        int s,s1,sx,s2,tx;
 
        number_subboader=0;
 
        int h;
 
        for(s=1;s<number_sub+1;s++){
        s1=subgroup[s];
        for(sx=1;sx<number_link[s1]+1;sx++){   
        s2=link[s1][sx];    
 
        h=0;
        for(tx=1;tx<number_subboader+1;tx++){
        if(s2==subboader[tx])h=100;    
        }
        for(tx=1;tx<number_sub+1;tx++){
        if(s2==subgroup[tx])h=100;    
        }
        if(h<50)number_subboader=number_subboader+1;
        if(h<50)subboader[number_subboader]=s2;
        }
        }
 
 
 
 
 
 
    }
 
 
 
}
 
最終更新:2015年10月23日 14:54