为啥换个扰动方式答案就变了
查看原帖
为啥换个扰动方式答案就变了
448887
cancan123456楼主2022/10/2 14:31

rt。

比如这个:

10
-4 6
1 1
2 1
3 4
5 4
11 4
51 4
1 91
98 10
-1 -1

都是 srand(19260817),如果这样:

inline void shake() {
	if (rand() % 2 == 0) x += 1.0 * rand() / RAND_MAX * eps;
	else x -= 1.0 * rand() / RAND_MAX * eps;
	if (rand() % 2 == 0) y += 1.0 * rand() / RAND_MAX * eps;
	else y -= 1.0 * rand() / RAND_MAX * eps;
}

跑出来是 200.590135200.590135,而如果这样:

void shake() {
	x += eps * (rand() - RAND_MAX / 2) / (RAND_MAX / 2);
	y += eps * (rand() - RAND_MAX / 2) / (RAND_MAX / 2);
}

跑出来就是 194.590135194.590135

2022/10/2 14:31
加载中...