先上代码
for(int i=1;i<=n;i+=2){
for(int j=1;j<=m;j+=2){
if(flag2&&j>m/2)++j,flag2=0;
if(flag1&&i>n/2)++i,flag1=0;
int I=i,J=j;
ans+=max(max(hypot(I-1,J-1),hypot(I-1,m-J)),max(hypot(n-I,J-1),hypot(n-I,m-J)));
}
}
第一种
for(int i=1;i<=n;i+=2){
for(int j=1;j<=m;j+=2){
int I=i,J=j;
if(flag2&&j>m/2)++J;
if(flag1&&i>n/2)++I;
ans+=max(max(hypot(I-1,J-1),hypot(I-1,m-J)),max(hypot(n-I,J-1),hypot(n-I,m-J)));
}
}
第二种
为什么第一种方法(包括注释掉的那种)会比第二种精度差一些啊(没有通过后两个Subtask)
求助orz