• 洛谷 绕钉子的长绳子


    背景

    平面上有N个圆柱形的大钉子,半径都为R,所有钉子组成一个凸多边形。

    现在你要用一条绳子把这些钉子围起来,绳子直径忽略不计。

    描述

    求出绳子的长度

    格式

    输入格式

    第1行两个数:整数N(1<=N<=100)和实数R。

    接下来N行按逆时针顺序给出N个钉子中心的坐标
    坐标的绝对值不超过100。

    输出格式

    一个数,绳子的长度,精确到小数点后2位。

    样例1

    样例输入1

    4 1
    0.0 0.0
    2.0 0.0
    2.0 2.0
    0.0 2.0

    样例输出1

    14.28

    限制

    各个测试点1s

    提示

    如果你用比较复杂的方法AC了,请想一想有没有更加简便的方法。

     传送门

    找规律 无论N是多少都是他两点间的距离加上一个圆 可以自己画画 。

    #include <iostream>
    #include <cstring>
    #include <cstdio>
    #include <cmath>
    using namespace std;
    const double Pi=acos(-1.0);
    int i,j,N;
    double R,x[101],y[101],ans;
    int main()
    {
        scanf("%d%lf",&N,&R);
        for(i=0;i<N;++i)
        {
            scanf("%lf%lf",&x[i],&y[i]);
            if(i>=1) ans+=sqrt((x[i]-x[i-1])*(x[i]-x[i-1])+(y[i]-y[i-1])*(y[i]-y[i-1]));
            if(i==N-1) ans+=sqrt((x[i]-x[0])*(x[i]-x[0])+(y[i]-y[0])*(y[i]-y[0]));
        }
        ans+=R*2*Pi;
        printf("%.2lf",ans);
    }
    我们都在命运之湖上荡舟划桨,波浪起伏着而我们无法逃脱孤航。但是假使我们迷失了方向,波浪将指引我们穿越另一天的曙光。
  • 相关阅读:
    并查集N(The Suspects)
    (并查集)Ubiquitous Religions
    (并查集)How Many Tables
    并查集(畅通工程)
    约瑟夫环(栈和队列)
    队列-排队买饭
    栈的基本操作
    双向队列
    括号匹配
    Queue
  • 原文地址:https://www.cnblogs.com/ruojisun/p/6305858.html
Copyright © 2020-2023  润新知