アットウィキロゴ

うy

package line3;
 
import tool.*;
import java.util.HashMap;
 
public class pro {
 
    int s,datanumber,sx;
    String[] data=new String[50000];
    String[] line=new String[50000];
    String[] sta=new String[50000];
    String[] com=new String[50000];
  String[] geo=new String[50000];
 
  int dicnumber;
  String[] dic_com=new String[50000];
  String[] dic_line=new String[50000];
   String[] dic_geo=new String[50000];
  int[] code=new int[50000];
  int number_geo;
 
  int[][] dis_line=new int[1000][1000];
 
  int number_line;
int[][] chx=new int[1000][10000];
 
 
  HashMap<String,Integer> map = new HashMap<String,Integer>();
 
 
    public static void main(String[] args) {
        pro t=new pro();
    }
    pro(){
 
 
    readfile sub=new readfile();
    sub.makedata("linec.txt","UTF-8");
    data=sub.data;
    datanumber=sub.datanumber;
 
 
    for(s=1;s<datanumber+1;s++){
    catchword sub8=new catchword();
    sta[s]=sub8.makedata(data[s],"station");
    line[s]=sub8.makedata(data[s],"line");
    com[s]=sub8.makedata(data[s],"com");
    geo[s]=sub8.makedata(data[s],"geo"); 
    }
 
 
 
    dicnumber=0;
    int h,cc;
 
     for(s=1;s<datanumber+1;s++){
     cc=0;
     for(sx=1;sx<dicnumber+1;sx++){
     h=0;
     if(com[s].equals(dic_com[sx]))h=h+1;
     if(line[s].equals(dic_line[sx]))h=h+1;
     if(h==2)cc=100;
     }
     if(cc<50)dicnumber=dicnumber+1;
     if(cc<50)dic_line[dicnumber]=line[s];
     if(cc<50)dic_com[dicnumber]=com[s];
     }
 
 
      for(s=1;s<dicnumber+1;s++){
     System.out.println(s+","+dic_com[s]+","+dic_line[s]);
    }
 
     for(s=1;s<datanumber+1;s++){
     for(sx=1;sx<dicnumber+1;sx++){
     h=0;
     if(com[s].equals(dic_com[sx]))h=h+1;
     if(line[s].equals(dic_line[sx]))h=h+1;
     if(h==2)code[s]=sx;
     }
     }
 
     number_geo=0;
 
     for(s=1;s<datanumber+1;s++){
     cc=0;
     for(sx=1;sx<number_geo+1;sx++){
     if(geo[s].equals(dic_geo[sx]))cc=100;
     }
     if(cc<50)number_geo=number_geo+1;
     if(cc<50)dic_geo[number_geo]=geo[s];
     }
 
     for(sx=1;sx<number_geo+1;sx++){
     map.put(dic_geo[sx], sx);
     }
 
    System.out.println(dicnumber);
 
    int s1,s2;
    for(s=1;s<dicnumber+1;s++){
    for(sx=1;sx<number_geo+1;sx++){
    chx[s][sx]=0;
    }}
 
    for(s=1;s<datanumber+1;s++){
    s1=code[s];
    s2=map.get(geo[s]);
    chx[s1][s2]=100;
    }
 
    int tx,n;
 
 
    for(s=1;s<dicnumber+1;s++){
    for(sx=1;sx<dicnumber+1;sx++){
    dis_line[s][sx]=100;
    }}
 
 
    for(s=1;s<dicnumber;s++){
    dis_line[s][s]=0;
    }
 
    for(s=1;s<dicnumber;s++){
    for(sx=s+1;sx<dicnumber+1;sx++){
    cc=0;
    for(tx=1;tx<number_geo+1;tx++){
    h=0;
    if(chx[s][tx]>60)h=h+1;    
    if(chx[sx][tx]>60)h=h+1; 
    if(h==2)cc=100;
    }    
  if(cc>50)dis_line[s][sx]=1;
  if(cc>50)dis_line[sx][s]=1;
    }}
 
 
 
   int tr; 
 
for(tr=1;tr<101;tr++){
for(s=1;s<dicnumber+1;s++){
for(sx=1;sx<dicnumber+1;sx++){
int maxd=dis_line[s][sx];    
for(tx=1;tx<dicnumber+1;tx++){  
int d1=dis_line[s][tx]+dis_line[sx][tx];   
if(d1<maxd)maxd=d1;
}
dis_line[s][sx]=maxd; 
}}
System.out.println(tr);
}    
 
  for(s=1;s<dicnumber+1;s++){
System.out.println(s+","+dic_line[s]);
    }
 
 
  System.out.println(dis_line[74][75]);
 
 
 
    }}
 
最終更新:2015年05月06日 14:55