暑假集训——个人训练赛04——E题

来源:互联网 发布:用友软件客服 编辑:程序博客网 时间:2024/05/20 15:41

贪心

题意:给出一个圆心和另一个需要走到的圆心,你每次可以让圆走0~2r的距离,问需要的最小步数。

思路:圆心最大走过的路程为其半径的2倍,所以先用最大路程去除原来圆心到需要的新圆心的距离,如果不能整除那么答案再加上1即可。

#include<stdio.h>#include<math.h>int main(){__int64 r,x0,y0,x1,y1;while(~scanf("%I64d%I64d%I64d%I64d%I64d",&r,&x0,&y0,&x1,&y1)){__int64 dis=(x0-x1)*(x0-x1)+(y0-y1)*(y0-y1);__int64 step=2*r*2*r;__int64 ans=sqrt((dis/step)*1.0);//判断是否能够整除if(!(ans*ans*step==dis)) ans++;printf("%I64d\n",ans);}return 0;}


0 0
原创粉丝点击