アットウィキロゴ

t

package line5;
 
 
public class pro {
 
    int[][] dis=new int[100][100];
    int[] number_dir=new int[100];
    int[][] dir=new int[100][100];
 
 
    public static void main(String[] args) {
        pro test=new pro();
    }
    pro(){
 
        int s;
         dir[1][1]=2;
        dis[1][1]=1;
        number_dir[1]=1;
 
        dir[50][1]=49;
        dis[50][1]=1;
        number_dir[50]=1;
 
        for(s=2;s<50;s++){
        dir[s][1]=s-1;
        dis[s][1]=1;
        dir[s][2]=s+1;
        dis[s][2]=1;
        number_dir[s]=2;
        }
 
        int tr;
 
     for(tr=1;tr<300;tr++){   
 
        int n1=(int)(50*Math.random())+1;
 
        trial(n1);
 
 
 
 
    }
 
 
    }
    void trial(int n1){
 
        int m1=(int)(number_dir[n1]*Math.random())+1;  
        int m2=dir[n1][m1];
        int d1=dis[n1][m1];
 
        int k1=(int)(number_dir[m2]*Math.random())+1;  
        int k2=dir[m2][k1];
        int d2=dis[m2][k1];
 
        int s;
        int ch;
        ch=0;
 
        if(k2==n1)ch=100;
 
        for(s=1;s<number_dir[n1]+1;s++){
        if(dir[n1][s]==k2)ch=100;    
        if(dir[n1][s]==k2)check(n1,s,d1,d2);    
        }
 
        if(ch<50){
        number_dir[n1]=number_dir[n1]+1;
        int z=number_dir[n1];
        dir[n1][z]=k2;
        dis[n1][z]=dis[m2][k1]+dis[n1][m1];
        }
 
 
        System.out.println(ch+","+n1+","+k2);
 
 
 
 
    }
    void check(int n1,int s,int d1,int d2){
 
 
        int dp=dis[n1][s];
 
      if(dp>d1+d2)dis[n1][s]=d1+d2;
 
 
 
    }
 
 
 
 
 
}
 
最終更新:2015年07月11日 14:25