package ball;
import tool.*;
public class pro {
int s,datanumber;
String[] data=new String[5000];
String[] home=new String[6000];
String[] visit=new String[6000];
int[] point_h=new int[6000];
int[] point_v=new int[6000];
String[] dic=new String[6000];
int[][] count=new int[13][13];
int[] power=new int[21];
int[] p=new int[21];
public static void main(String[] args) {
pro t=new pro();
}
pro(){
readfile sub=new readfile();
sub.makedata("data.csv","UTF-8");
data=sub.data;
datanumber=sub.datanumber;
int sx=0;
for(s=2;s<datanumber+1;s++){
String[] x=data[s].split(",");
if(x.length>2){
sx=sx+1;
home[sx]=x[4];
visit[sx]=x[3];
point_v[sx]=Integer.parseInt(x[5]);
point_h[sx]=Integer.parseInt(x[6]);
}
}
datanumber=sx;
int h,dicnumber;
dicnumber=0;
for(s=1;s<datanumber+1;s++){
h=0;
for(sx=1;sx<dicnumber+1;sx++){
if(home[s].equals(dic[sx]))h=100;
}
if(h<50)dicnumber=dicnumber+1;
if(h<50)dic[dicnumber]=home[s];
}
for(s=1;s<datanumber+1;s++){
int s1=0;
int s2=0;
for(sx=1;sx<13;sx++){
if(home[s].equals(dic[sx]))s1=sx;
}
for(sx=1;sx<13;sx++){
if(visit[s].equals(dic[sx]))s2=sx;
}
if(point_h[s]>point_v[s])count[s1][s2]=count[s1][s2]+1;
if(point_v[s]>point_h[s])count[s2][s1]=count[s2][s1]+1;
}
for(s=1;s<13;s++){
power[s]=50;
}
int trial;
for(trial=1;trial<3;trial++){
int k,tr;
for(tr=1;tr<13;tr++){
for(s=1;s<13;s++){
p[s]=power[s];
}
double minx=999999;
int ks;
ks=0;
for(k=1;k<101;k++){
p[tr]=k;
double g1=g();
if(g1<minx)ks=k;
if(g1<minx)minx=g1;
}
power[tr]=ks;
}
}
for(s=1;s<13;s++){
System.out.print(dic[s]);
for(sx=1;sx<13;sx++){
System.out.print(",");
System.out.print(count[s][sx]);
}
System.out.println("");
}
for(s=1;s<13;s++){
System.out.println(power[s]);
}
}
double g(){
int s,sx;
double g1=0;
for(s=1;s<13;s++){
for(sx=s+1;sx<13;sx++){
g1=g1+f(s,sx);
}
}
return g1;
}
double f(int s1,int s2){
double z1=p[s1]+p[s2];
double z2=100*p[s1];
double z3=z2/z1;
double x1=count[s1][s2]+count[s2][s1];
double x2=100*count[s1][s2];
double x3=x2/x1;
double f1=(z3-x3)*(z3-x3);
return f1;
}
}
最終更新:2016年04月03日 22:27