```cpp
//省略部分代码
void sa() {
double t=3000;
while (t>1e-16) {
double ex=ansx+(rand()*2-RAND_MAX)*t;
double ey=ansy+(rand()*2-RAND_MAX)*t;
double ew=wh(ex,ey);
double de=ew-answ;
if(de<0){
ansx=ex;
ansy=ey;
answ=ew;
}
else if(exp(-de/t)*RAND_MAX>rand()) {
ansx=ex;
ansy=ey;
}
t*=0.994;
}
}
signed main() {
//省略部分代码
sa();
//省略部分代码
return 0;
}
```
by _7Mr @ 2023-09-05 17:10:40
玄学
by 262620zzj @ 2023-09-05 17:12:38
比较中肯的是 $T = 3000,eps = 1e-16,rate = 0.996$ 跑 $\ge 6$ 遍错了,跑一遍 $A$ 了
by kkxacj @ 2023-09-05 21:44:49