var ux=new Array();
var wx=new Array();
var v=new Array();
var gotoc=new Array();
var gotoy=new Array();
var gotob=new Array();
function non(){
var s,s1,s2,b1,b2;
var c1,y1,u1;
var sx1,sx2;
for(s=1;s<101;s++){
ux[s]=new Array();
wx[s]=new Array();
v[s]=new Array();
gotoc[s]=new Array();
gotoy[s]=new Array();
gotob[s]=new Array();
}
for(s=1;s<101;s++){
for(s1=-5;s1<6;s1++){
for(s2=-5;s2<6;s2++){
c1=c[s]+s1;
y1=y[s]+s2;
u1=up(c1,y1,th[s]);
setu(s,s1,s2,u1);
}
}
}
for(s=1;s<100;s++){
for(s1=-5;s1<6;s1++){
for(s2=-5;s2<6;s2++){
c1=c[s]+s1;
y1=y[s]+s2;
u1=up(c1,y1,th[s+1]);
setw(s,s1,s2,u1);
}
}
}
s=1;
for(s1=-5;s1<6;s1++){
for(s2=-5;s2<6;s2++){
for(b1=-25;b1<26;b1++){
u1=-999;
setv(s,s1,s2,b1,u1);
}
}
}
s=1;
for(s1=-5;s1<6;s1++){
for(s2=-5;s2<6;s2++){
b1=s2-s1;
u1=getu(s,s1,s2);
setv(s,s1,s2,b1,u1);
}
}
var z,sxs1,sxs2;
var maxv,w1;
for(s=2;s<101;s++){
for(s1=-5;s1<6;s1++){
for(s2=-5;s2<6;s2++){
for(b1=-25;b1<26;b1++){
u1=getu(s,s1,s2);
b2=b1+s1-s2;
if(b2>25)z=100;
if(b2<-25)z=100;
if(z>50)b2=0;
maxv=-999;
sxs1=0;
sxs2=0;
for(sx1=-5;sx1<6;sx1++){
for(sx2=-5;sx2<6;sx2++){
v1=u1+getv(s-1,sx1,sx2,b2);
w1=getw(s-1,sx1,sx2);
if(w1>u1)v1=-999;
if(v1>maxv)sxs1=sx1;
if(v1>maxv)sxs2=sx2;
if(v1>maxv)maxv=v1;
}
}
if(z>50)maxv=-999;
setv(s,s1,s2,b1,maxv);
setc(s,s1,s2,b1,sxs1);
sety(s,s1,s2,b1,sxs2);
setb(s,s1,s2,b1,b2);
}
}
}
}
s=100;
maxv=-999;
for(s1=-5;s1<6;s1++){
for(s2=-5;s2<6;s2++){
v1=getv(s,s1,s2,0);
if(v1>maxv)maxv=v1;
}
}
alert(maxv);
}
function up(c1,y1,th1){
var u2,c2,x2;
var z;
z=0;
c2=c1*h;
x2=1-y1/th1;
if(c2<0.0001)z=100;
if(x2<0.0001)z=100;
if(x2>1)z=100;
if(z>50)c2=0.5;
if(z>50)x2=0.5;
u2=Math.log(c2)+Math.log(x2);
if(z>50)u2=-999;
return u2;
}
function getu(s,s1,s2){
var n1;
var u1;
n1=getnumber(s1,s2);
u1=ux[s][n1];
return u1;
}
function getw(s,s1,s2){
var n1;
var u1;
n1=getnumber(s1,s2);
u1=wx[s][n1];
return u1;
}
function getv(s,s1,s2,b1){
var n1;
var u1;
n1=getvnumber(s1,s2,b1);
u1=v[s][n1];
return u1;
}
function setu(s,s1,s2,u1){
var n1;
n1=getnumber(s1,s2);
ux[s][n1]=u1;
}
function setv(s,s1,s2,b1,v1){
var n1;
n1=getvnumber(s1,s2,b1);
v[s][n1]=v1;
}
function setc(s,s1,s2,b1,sx1){
var n1;
n1=getvnumber(s1,s2,b1);
gotoc[s][n1]=sx1;
}
function sety(s,s1,s2,b1,sx2){
var n1;
n1=getvnumber(s1,s2,b1);
gotoy[s][n1]=sx2;
}
function setb(s,s1,s2,b1,b2){
var n1;
n1=getvnumber(s1,s2,b1);
gotob[s][n1]=b2;
}
function getnumber(s1,s2){
var n;
n=15*(s1+5)+(s2+5);
return n;
}
function getvnumber(s1,s2,b1){
var n1;
n1=15*50*(s1+5)+50*(s2+5)+(b1+25);
return n1;
}
function setw(s,s1,s2,u1){
var n1;
n1=getnumber(s1,s2);
wx[s][n1]=u1;
}
最終更新:2013年12月29日 18:18