package hh;
import tool.*;
public class pro {
int s,sx;
String[] data=new String[50000];
int datanumber,tx;
String[] city=new String[50000];
String[] link=new String[50000];
double[] lon=new double[50000];
double[] lat=new double[50000];
int[][] p=new int[48][48];
int[][] dir=new int[48][48];
int[] number_dir=new int[48];
public static void main(String[] args) {
pro r=new pro();
}
pro(){
readfile sub77=new readfile();
sub77.makedata("city.csv", "UTF-8");
data=sub77.data;
datanumber=sub77.datanumber;
for(s=2;s<datanumber+1;s++){
String[] x=data[s].split(",");
city[s]=x[0];
lon[s]=Double.parseDouble(x[1]);
lat[s]=Double.parseDouble(x[2]);
}
for(s=2;s<datanumber+1;s++){
if(city[s].length()<5)city[s]="0"+city[s];
}
for(s=2;s<datanumber+1;s++){
city[s]=city[s].substring(0,2);
}
double mind;
for(s=2;s<datanumber+1;s++){
mind=99999;
int sxs=0;
for(sx=2;sx<datanumber+1;sx++){
double d1=(lon[s]-lon[sx])*(lon[s]-lon[sx]);
d1=d1+(lat[s]-lat[sx])*(lat[s]-lat[sx]);
if(city[s].equals(city[sx]))d1=9999;
if(d1<mind)sxs=sx;
if(d1<mind)mind=d1;
}
link[s]=city[sxs];
}
for(s=2;s<datanumber+1;s++){
int s1,s2;
s1=0;
for(sx=1;sx<48;sx++){
String c1=""+sx;
if(sx<10)c1="0"+sx;
if(city[s].equals(c1))s1=sx;
}
s2=0;
for(sx=1;sx<48;sx++){
String c1=""+sx;
if(sx<10)c1="0"+sx;
if(link[s].equals(c1))s2=sx;
}
p[s1][s2]=100;
}
for(s=1;s<48;s++){
tx=0;
for(sx=1;sx<48;sx++){
if(p[s][sx]>50)tx=tx+1;
if(p[s][sx]>50)dir[s][tx]=sx;
}
number_dir[s]=tx;
}
for(s=1;s<48;s++){
System.out.println("number_dir["+s+"]="+number_dir[s]+";");
}
for(s=1;s<48;s++){
for(sx=1;sx<number_dir[s]+1;sx++){
System.out.println("dir["+s+"]["+sx+"]="+dir[s][sx]+";");
}}
}
}
最終更新:2015年10月30日 20:12