アットウィキロゴ

xfd づy

class pro{

String str;
int s,sx,t,tx,strlong;
String[][] ph=new String[500][10];
int dbnumber[]=new int[1001];
String[][] db=new String[1001][500];
double[][] v=new double[500][11];
double v1,maxv;

public static void main(String args[]){
pro test=new pro();
}

pro(){

str="インターネット通販";

strlong=str.length();

for(s=1;s<strlong+1;s++){
for(sx=1;sx<10;sx++){
if(s+sx<strlong+2)ph[s][sx]=str.substring(s-1,s+sx-1);
}
}

v[1][1]=f(ph[1][1]);
v[2][2]=f(ph[1][2]);
v[2][1]=g(ph[1][1],ph[2][1])+v[1][1];

for(s=3;s<strlong+1;s++){
v[s][s]=f(ph[1][s]);
for(sx=1;sx<s;sx++){
t=s-sx;
maxv=-999;
for(tx=1;tx<t+1;tx++){
v1=g(ph[t-tx+1][tx],ph[s-sx+1][sx])+v[t][tx];
if(v1>maxv)maxv=v1;
}
v[s][sx]=maxv;
}
}


}

double g(String bx1,String bx2){
int t1,t2,m1,m2,h;
double px;
px=0.001;
m1=0;
for(t1=1;t1<1001;t1++){
for(t2=1;t2<dbnumber[t1];t2++){
if(db[t1][t2].equals(bx1))m1=m1+1;
}
}
m2=0;
for(t1=1;t1<1001;t1++){
for(t2=1;t2<dbnumber[t1];t2++){
h=0;
if(db[t1][t2].equals(bx1))h=h+1;
if(db[t1][t2+1].equals(bx2))h=h+1;
if(h==2)m2=m2+1;
}
}
if(m1>0)px=(double)m2/m1;
if(px<0.001)px=0.001;
return px;
}

double f(String bx){
int t1,t2,m1,m2;
double px;
String strx;
px=0.001;
m1=0;
for(t1=1;t1<1001;t1++){
if(dbnumber[t1]>0)m1=m1+1;
}
m2=0;
for(t1=1;t1<1001;t1++){
strx="";
if(dbnumber[t1]>0)strx=db[t1][1];
if(strx.equals(bx))m2=m2+1;
}
if(m1>0)px=(double)m2/m1;
if(px<0.001)px=0.001;
return px;
}
}
最終更新:2011年05月28日 16:11