周长为1e4的圆,我们需要做的是在n个点已等距排好的情况下在排m个点,使得n+m个点在圆上等距排列;
不要管这个1e4,先把周长看成n+m;
因为如果把其中不动的一个点看作原点,那么各点坐标为 (i/n)*(n+m)*1e4(i为从0到n-1);
这时,我们计算出后再乘以1e4就可以;
那么算出各点坐标后,把点移到最靠近的整数点位置(因为要等距排列,而当周长为n+m时,各点相互距离为1),那么只需要加上fabs(pos - floor(pos+0.5))就ok了;
为什么不会出现两个点移动到相同位置呢?
如果移动到了相同的位置,证明两个点的原坐标相差小于1,而当墓碑数为n+m时,两个相邻墓碑的距离才为1,说明墓碑数为n时,两相邻墓碑的距离大于1,所以不会出现移动到相同位置的情况;
LA 3708 墓地雕塑
最新推荐文章于 2020-06-16 18:00:35 发布