アットウィキロゴ

せいいぞん

package actor;
import tool.*;
 
public class pro {
  String[] art=new String[50000];
      int[][] point=new int[5000][200];
     String[] data=new String[50000];
    int s,sx,datanumber;
    String[] dic=new String[5000];
     int[][] v=new int[5000][200];
      int[] number_dic=new int[5000];
      int[] y=new int[5000];
 
      int[] v1=new int[5000];
      int[] v2=new int[5000];
   double[] p=new double[50];
   double[] q=new double[50];
 int number;
  double[] rate=new double[5000];
 
    public static void main(String[] args) {
        pro r=new pro();
    }
 
    pro(){
 
 
        readfile sub2=new readfile();
    sub2.makedata("data.csv","UTF-8");
    datanumber=sub2.datanumber;
    data=sub2.data;
 
    int sx=0;
    for(s=2;s<datanumber+1;s++){
    String[] x=data[s].split(",");
   art[s-1]=x[0];
    for(sx=1;sx<x.length;sx++){
   if(x[sx].indexOf("○")>-1)point[s-1][sx]=100;
   }
   number=x.length-1;
    }
 
    datanumber=datanumber-1;
 
    int tx,n;
 
    for(n=1;n<41;n++){
    int c1=0;
    int c2=0;
 
    for(s=1;s<datanumber+1;s++){
    for(sx=1;sx<number+1;sx++){
    int h=0;
    if(point[s][sx]>50)h=h+1;
    int j=0;
    for(tx=1;tx<n+1;tx++){
    if(point[s][sx+tx]>50)j=100;
    }
    if(j<50)h=h+1;
    if(point[s][sx+n+1]>50)h=h+1;
    if(sx+n+1>number)h=0;
    if(h==3)c1=c1+1;
 
    h=0;
    if(point[s][sx]>50)h=h+1;
    j=0;
    for(tx=1;tx<n+1;tx++){
    if(point[s][sx+tx]>50)j=100;
    }
    if(j<50)h=h+1;
    if(point[s][sx+n+1]<50)h=h+1;
    if(sx+n+1>number)h=0;
    if(h==3)c2=c2+1;
    }
    }
    p[n]=(double)c1/(c1+c2);
    }
 
    for(n=1;n<41;n++){
    double q1=1;
    for(s=n+1;s<41;s++){
    q1=(1-p[s])*q1;    
    }
   q[n]=q1;
    }
 
 
    for(s=1;s<datanumber+1;s++){
    int n1=0;
    for(sx=1;sx<number+1;sx++){
    if(point[s][sx]>50)n1=sx;    
    }
    int n2=number-n1;
    int n3=0;
     for(sx=1;sx<number+1;sx++){
    int h=0;
    if(point[s][sx]>50)h=h+1;    
    if(n3==0)h=h+1;
    if(h==2)n3=sx;
     }
     if(n2>40)n2=40;
     rate[s]=q[n2];
    }
 
    double z1=0;
    double z2=0;
    for(s=1;s<datanumber+1;s++){
   int m1=0;
    for(sx=1;sx<number+1;sx++){
    if(point[s][sx]>50)m1=m1+1;   
     } 
    z1=z1+rate[s]*m1;    
    z2=z2+rate[s];    
    }
 
    z1=0;
    z2=0;
 
    for(s=1;s<datanumber+1;s++){
   int m1=0;
    for(sx=1;sx<number+1;sx++){
    if(point[s][sx]>50)m1=sx;   
     } 
 
     int m2=0;
    for(sx=1;sx<number+1;sx++){
    int h=0;
    if(point[s][sx]>50)h=h+1;
    if(m2==0)h=h+1;    
    if(h==2)m2=sx;   
     } 
    v1[s]=m2;
    v2[s]=m1;
 
    }
    int y1;
    for(y1=1;y1<11;y1++){
    z1=0;
    z2=0;
    for(s=1;s<datanumber+1;s++){
    if(v2[s]<v1[s]+4*y1) z1=z1+rate[s];    
    z2=z2+rate[s];     
    }
 
    System.out.println(y1+","+(1-z1/z2));
    }
 
 
    }
 
      int numx(String str){
 
    int nx;
 
    nx=0;
 
 try{
 
    nx=Integer.parseInt(str);
 
 }catch (Exception e) {}
 
 return nx;
 
 
 
}
 
}
 
最終更新:2016年08月17日 12:20