首页 > 其他分享 >Codeforces Round #287 (Div. 2) B. Amr and Pins(数学/思维)

Codeforces Round #287 (Div. 2) B. Amr and Pins(数学/思维)

时间:2022-08-29 17:59:52浏览次数:85  
标签:abs 大头针 Codeforces 旋转 圆心 Pins output Div Amr

https://codeforces.com/contest/507/problem/B

题目大意:

Amr有一个半径为r、圆心在点(x,y)的圆。他希望圆心在新的位置(x ',y ')。

在一个步骤中,Amr可以将一个大头针放在圆的边界的某个点上,然后将圆围绕该大头针旋转任意角度,最后移除该大头针。

帮助Amr以最少的步骤实现他的目标。

投入
输入由5个空格分隔的整数r,x,y,x' y' (1 ≤ r ≤ 105,- 105 ≤ x,y,x ',y' ≤ 105)、圆半径、圆心原点坐标和圆心终点坐标组成。

输出
输出单个整数-将圆心移动到目标点所需的最少步数。注意
在第一个示例测试中,最佳方式是在点(0,2)上放一个大头针,然后逆时针(或顺时针,无所谓)旋转圆180度。
input
2 0 0 0 4
output
1
inputCopy
1 1 1 4 4
output
3
input
4 5 6 5 6
output
0

如图所示:

我们可以从题目条件了解到,我们可以按着这个圆的任意边让他旋转任意角度,所以当前的圆心下一个可以跑到的位置就是以圆心为中心的半径为2d的圆内
我们奔着目标点的方向一直这样最大化旋转,就可以到达一个最挨近它的地方
当刚好到达目标值,就可以整除2
d
不然的话就需要多一个旋转

ceil向上取整

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<int,int> PII;
const int N=200200,M=2002;
int main()
{
    cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
    int T=1;
    //cin>>T;
    while(T--)
    {
        LL d,x,y,n,m;
        cin>>d>>x>>y>>n>>m;
        double dist=sqrt(abs(x-n)*abs(x-n)+abs(y-m)*abs(y-m));
        //cout<<dist<<endl;
        //cout<<(int)dist/(2*d)<<endl;
        printf("%.0lf",ceil(dist/(2*d)));
    }
    return 0;
}

标签:abs,大头针,Codeforces,旋转,圆心,Pins,output,Div,Amr
From: https://www.cnblogs.com/Vivian-0918/p/16636769.html

相关文章

  • 【Virt.Contest】CF1155(div.2)
    CF传送门T1:ReverseaSubstring只有本身单调不减的字符串不能转换为字典序更小的字符串。否则肯定会出现\(s_i>s_{i+1}\)的情况。所以只要从头到尾扫一遍,找到\(s_i>......
  • Educational Codeforces Round 134 E - Prefix Function Queries补题
    原题链接参考了jly的写法#pragmaGCCoptimize(2)#include<bits/stdc++.h>usingnamespacestd;#definefrfirst#definesesecond#defineet0exit(0);#define......
  • Educational Codeforces Round 125 D
    D.ForGamers.ByGamers.最近又生病了然后就休息了两天人还真是休息不得直接寄掉了不管是手速还是思维啥的看到这道题很简单的一个变形都没看出来只看出了二分......
  • Educational Codeforces Round 134 (Rated for Div. 2) A-C
    2A,C题wa2不知道为什么。B题少判一个条件:左上角A:题意有点不懂,到最后才知道是有多少种数,就输出这个种数-1即可intn,m;voidsolve(){//cin>>n>>m;chars[......
  • Educational Codeforces Round 134 (Rated for Div. 2)
    EducationalCodeforcesRound134(RatedforDiv.2)D.MaximumAND题目大意给出序列a,b,b可以任意排列,序列c有\(c_i=a_i\bigoplusb_i\)。c序列的价值为c1&c2&c33...&......
  • Codeforces Round #816 (Div. 2)/CodeForces1715
    CodeForces1715Crossmarket解析:题目大意有一个\(n\timesm\)的空间,Stanley需要从左上角到右下角;Megan则需要从左下角到右上角。两人可以耗费\(1\)能量到达相邻......
  • CF1721D(Edu134Div2-D)
    原题链接一个显然的结论是,从高位道低位考虑答案在这一位是否可以是1,那么如果一个高位可以为1,那么一定不会为了其他低位而把它变成0。另一个结论是:如果一个高位不能变成1,那......
  • 学习随笔——codeforces题目Build Permutation解答
    摘要:本题属于构造算法,虽然简单但对思维提升有一定帮助题目原地址如下:https://codeforces.com/problemset/problem/1713/C题目截图如下:  关键词:构造算法,动态规划,*120......
  • 【Virt.Contest】CF1321(div.2)
    第一次打虚拟赛。CF传送门T1:ContestforRobots统计\(r[i]=1\)且\(b[i]=0\)的位数\(t1\)和\(r[i]=0\)且\(b[i]=1\)的位数\(t2\)。两个数都为\(0\)或都为......
  • 【Virt.Contest】CF1215(div.2)
    第二次打虚拟赛。CF传送门T1:YellowCards黄色卡片中规中矩的\(T1\)。首先可以算出一个人也不罚下时发出的最多黄牌数:\(sum=a1*(k1-1)+a2*(k2-1)\)此时,若\(sum>=n......