为什么数组初始化极大值时,这样是对的:
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
dis[i][j]=dis[j][i]=sqrt((a[i].x-a[j].x)*(a[i].x-a[j].x)+(a[i].y-a[j].y)*(a[i].y-a[j].y));
f[1][1][0]=f[1][1][1]=0;
for(int len=2;len<n;len++)
for(int i=1;i<=n-len+1;i++){
int j=i+len-1;
f[i][j][0]=f[i][j][1]=2e15;
}
然而放在前面是错误的,5pts:
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++){
f[i][j][0]=f[i][j][1]=2e15;
dis[i][j]=dis[j][i]=sqrt((a[i].x-a[j].x)*(a[i].x-a[j].x)+(a[i].y-a[j].y)*(a[i].y-a[j].y));
}
f[1][1][0]=f[1][1][1]=0;
for(int len=2;len<n;len++)
for(int i=1;i<=n-len+1;i++){
int j=i+len-1;
}
这是什么原因呢?应该没有问题的啊?