package u2;
public class pro {
int[] th=new int[11];
double delta;
int c1,y1;
int s,sx,b1;
double u1;
double[][][] u=new double[11][11][11];
double[][] sig=new double[11][11];
int[][] opc=new int[11][11];
int[][] opy=new int[11][11];
int[] c=new int[11];
int[] y=new int[11];
int s1,s2;
public static void main(String[] args) {
pro test=new pro();
}
pro(){
for(s=1;s<11;s++){
th[s]=100;
c[s]=50;
y[s]=50;
}
delta=0.01;
for(s=1;s<11;s++){
for(s1=-5;s1<6;s1++){
for(s2=-5;s2<6;s2++){
u1=u(c[s]+s1,y[s]+s2,th[s]);
setu(s,s1,s2,u1);
}}}
int h;
double u2,maxu;
for(s=1;s<11;s++){
for(b1=-5;b1<6;b1++){
maxu=-999;
c1=0;
y1=0;
for(s1=-5;s1<6;s1++){
s2=b1-s1;
h=0;
if(s2>-6)h=h+1;
if(s2<6)h=h+1;
u2=-999;
if(h==2)u2=getu(1,s1,s2);
if(u2>maxu)c1=s1;
if(u2>maxu)y1=s2;
if(u2>maxu)maxu=u2;
}
setsig(s,b1,maxu);
setc(s,b1,c1);
sety(s,b1,y1);
}}
}
double getu(int th1,int c1,int y1){
int s1,s2;
s1=c1+5;
s2=y1+5;
return u[th1][s1][s2];
}
int gety(int th1,int b1){
int s1,s2;
s1=b1+5;
return opy[th1][s1];
}
int getc(int th1,int b1){
int s1,s2;
s1=b1+5;
return opc[th1][s1];
}
void setu(int th1,int c1,int y1,double u1){
int s1,s2;
s1=c1+5;
s2=y1+5;
u[th1][s1][s2]=u1;
}
void setc(int th1,int b1,int c1){
int s1,s2;
s1=b1+5;
opc[th1][s1]=c1;
}
void sety(int th1,int b1,int y1){
int s1,s2;
s1=b1+5;
opy[th1][s1]=y1;
}
void setsig(int th1,int b1,double u1){
int s1,s2;
s1=b1+5;
sig[th1][s1]=u1;
}
double getsig(int th1,int b1){
int s1,s2;
s1=b1+5;
return sig[th1][s1];
}
double u(int c1,int y1,int th1){
double c2,x2,u1,z;
z=0;
c2=c1*delta;
x2=1-(double)y1/th1;
if(x2<0.01)x2=2;
u1=Math.log(c2)+Math.log(x2);
if(x2>1)u1=-999;
return u1;
}
}
最終更新:2014年05月31日 16:46