题目描述
现在有一张半径为r的圆桌,其中心位于(x,y),现在他想把圆桌的中心移到(x1,y1)。每次移动一步,都必须在圆桌边缘固定一个点然后将圆桌绕这个点旋转。问最少需要移动几步。
IDEA
转换思想,题中说在圆桌边缘固定一个点然后将圆桌绕这个点旋转,意思是每次圆心移动2r的距离,算出起点到终点的距离,想出向上取整即可
CODE
#include<iostream>
#include<cmath>
using namespace std;
int main(){
double r;
long long x,y,x1,y1;
while(cin>>r>>x>>y>>x1>>y1){
double dist=(x1-x)*(x1-x)+(y1-y)*(y1-y);
dist=sqrt(dist);
int step=(int)ceil(dist/(2*r));
cout<<step<<endl;
}
return 0;
}