package line;
public class pro {
int[] pr=new int[21];
int[] op=new int[21];
double[][] v=new double[21][21];
int[][] gotop=new int[21][21];
public static void main(String[] args) {
pro test=new pro();
}
pro(){
pr[1]=10;
pr[2]=9;
pr[3]=7;
pr[4]=8;
pr[5]=10;
pr[6]=9;
pr[7]=7;
pr[8]=8;
pr[9]=6;
pr[10]=4;
int s,sx;
for(s=1;s<11;s++){
v[1][s]=(pr[1]-s)*(pr[1]-s);
}
int t,sxs;
double u1,v1,maxv;
for(t=2;t<11;t++){
for(s=1;s<11;s++){
u1=(pr[t]-s)*(pr[t]-s);
maxv=99999;
sxs=0;
for(sx=1;sx<11;sx++){
v1=u1+v[t-1][sx];
if(sx>s+1)v1=99999;
if(sx<s-1)v1=99999;
if(v1<maxv)sxs=sx;
if(v1<maxv)maxv=v1;
}
gotop[t][s]=sxs;
v[t][s]=maxv;
}}
maxv=99999;
sxs=0;
for(sx=1;sx<11;sx++){
if(v[10][sx]<maxv)sxs=sx;
if(v[10][sx]<maxv)maxv=v[10][sx];
}
op[10]=sxs;
for(s=1;s<10;s++){
sxs=op[11-s];
op[10-s]=gotop[11-s][sxs];
}
for(s=1;s<10;s++){
System.out.println(op[s]+","+pr[s]);
}
}
}
最終更新:2015年10月08日 19:46