アットウィキロゴ

ねこ099

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