package match;
import tool.*;
public class pro {
int[] point=new int[5001];
int[] r=new int[5001];
int[] matchx=new int[5001];
int[] matchy=new int[5001];
int[] rs=new int[5001];
int datanumber;
String[] data=new String[5000];
String[] name=new String[5000];
public static void main(String[] args) {
pro t=new pro();
}
pro(){
readfile sub2=new readfile();
sub2.makedata("data.csv","UTF-8");
data=sub2.data;
datanumber=sub2.datanumber;
int s;
for(s=1;s<datanumber;s++){
String[] x=data[s+1].split(",");
point[s]=num_int(x[2]);
name[s]=x[0]+x[1];
}
int number=datanumber-1;
for(s=1;s<number+1;s++){
r[s]=(int)(100*Math.random())+1;
}
int tr;
for(tr=1;tr<11;tr++){
int sx,n,ns;
double minz;
for(s=1;s<number+1;s++){
ns=1;
minz=999999;
for(n=1;n<101;n++){
double z=0;
for(sx=1;sx<number+1;sx++){
double z1=(double)n/(n+r[sx]);
if(point[s]>point[sx])z=z+(1-z1)*(1-z1);
if(point[s]<point[sx])z=z+z1*z1;
}
if(minz>z)ns=n;
if(minz>z)minz=z;
}
rs[s]=ns;
}
int tt=0;
for(s=1;s<number+1;s++){
tt=tt+rs[s];
}
int t1=tt/number;
for(s=1;s<number+1;s++){
r[s]=rs[s]+(50-t1);
}
}
for(s=1;s<number+1;s++){
System.out.println(name[s]+","+r[s]+","+point[s]);
}
}
int num_int(String str){
int nx;
nx=0;
try{
nx=Integer.parseInt(str);
}catch (Exception e) {}
return nx;
}
}
最終更新:2017年08月24日 15:02