昨天切鼠条那个题,这样过了
while(l<=r){
mid=(r+l)/2;
if(check(mid))
{l=mid+1;
ans = max(ans,mid);}
else
r=mid-1;
}
printf("%.2lf",ans/100.0);
我不晓得为什么我这个代码过不了
while(l<=r){
mid=(r+l)/2;
if(check(mid)){
l=mid+1;
}
else
r=mid-1;
}
cout<<mid<<endl;
这个代码就过了
int ans=0;
while(l<=r){
mid=(r+l)/2;
if(check(mid)){
l=mid+1;
ans=mid;
}
else
r=mid-1;
}
cout<<ans<<endl;
上个题目也是,摸不着头脑了属实是
说是因为精度,最后一次二分mid可能是不满足情况的
11.30-