[编程题] 搬圆桌
现在有一张半径为r的圆桌,其中心位于(x,y),现在他想把圆桌的中心移到(x1,y1)。每次移动一步,都必须在圆桌边缘固定一个点然后将圆桌绕这个点旋转。问最少需要移动几步。
输入描述:
一行五个整数r,x,y,x1,y1(1≤r≤100000,-100000≤x,y,x1,y1≤100000)
输出描述:
输出一个整数,表示答案
输入例子:
2 0 0 0 4
输出例子:
1
#include<iostream> #include<cmath> #include<algorithm> using namespace std; int main() { long r,x,y,x1,y1; while(cin>>r>>x>>y>>x1>>y1) { long a=(x-x1)*(x-x1)+(y-y1)*(y-y1); long b=4*r*r; long step=sqrt(a/b)+((a%b>0)?1:0); cout<<step<<endl; } }
时间: 2024-10-06 16:09:28