背景

平面上有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);
}

转载于:https://www.cnblogs.com/ruojisun/p/6305858.html

洛谷 绕钉子的长绳子相关推荐

  1. 数木桩的c语言编程,Vijos P1007 绕钉子的长绳子 C语言版

    文章作者:姜南(Slyar)文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作. 背景 Background 平面上有N个圆柱形的大钉子,半径都为R,所有钉子组成一个 ...

  2. YBTOJ洛谷P4551:最长异或路径(trie树)

    洛谷传送门 文章目录 题目描述 解析 代码 题目描述 解析 本题关键就在于一点: 若把每个点的深度dep[i]定义为从根到节点边权的异或和 那么i到j的路径异或和可以表示为: dep[i] ^ dep ...

  3. Vijos 1007 饶钉子的长绳子

    给出钉子坐标 和钉子半径 求绕起来的绳子长度. 其实就是所有钉子圆心组成的凸多边形的周长+一个半径为r的圆: AC代码: #include<cstdio> #include<cstr ...

  4. 洛谷P3357:最长k可重线段集问题(网络流)

    解析 本题的建模方法有很多,我的做法是补集思想转化成志愿者招募然后按照那道题的做法直接做,看题解更多是采用的对于不冲突的线段首尾加边的做法. 在前一道最长k可重区间问题中这两种做法谈不上孰优孰劣,但本 ...

  5. 广度优先搜索——Corn Maze S(洛谷 P1825)

    题目选自洛谷P1825 题目比较长,但是不难理解.因为求的是一个最短距离,所以用BFS即可. 广搜的主要思想便是将所有可行解(可到达的点)放入队列,然后再一个个遍历所有可行解(可到达的点),知道找到终 ...

  6. 切绳子【洛谷P1577】【二分】

    切绳子[洛谷P1577][二分] 文章目录 切绳子[洛谷`P1577`][二分] 题目描述 输入格式 输出格式 输入 输出 代码 题目描述 有 N 条绳子,它们的长度分别为 Li.如果从它们中切割出 ...

  7. Bzoj4016/洛谷P2993 [FJOI2014] 最短路径树问题(最短路径问题+长链剖分/点分治)

    题面 Bzoj 洛谷 题解 首先把最短路径树建出来(用\(Dijkstra\),没试过\(SPFA\)\(\leftarrow\)它死了),然后问题就变成了一个关于深度的问题,可以用长链剖分做,所以我 ...

  8. 洛谷P2766-最长递增子序列问题

    chunlvxiong的博客 题目描述: 给定正整数序列x1,...,xn (1≤n≤500). 1.计算其最长递增子序列的长度s. 2.计算从给定的序列中最多可取出多少个长度为s的递增子序列. 3. ...

  9. 信息学奥赛一本通 1116:最长平台 | OpenJudge NOI 1.9 12:最长平台 | 洛谷 B2097 最长平台

    [题目链接] ybt 1116:最长平台 OpenJudge NOI 1.9 12:最长平台 洛谷 B2097 最长平台 [题目考点] 1. 数组中做统计 2. 求最大值 [解题思路] 解法1:遍历并 ...

最新文章

  1. C# 特性(attribute)
  2. 基于MNIST的GANs实现【Pytorch】
  3. 黑魔法(method-swizzling)解决第三方库引发的问题
  4. [Node.js] mySQL数据库 -- 英雄管理系统(完善)
  5. 虚函数,虚基类 与纯虚函数 二
  6. maya崩溃自动保存路径_xgen 分享在maya里制作头发失败经验
  7. python 迭代多个对象
  8. window10运行python弹出商店_解决 win10 命令行下运行 python 弹出 Windows 应用商店
  9. spring aop获取目标对象的方法对象(包括方法上的注解)(转)
  10. linux系统移植和根文件系统制作
  11. DB2 SQLCODE 异常大全编辑(三)
  12. android apk反编译(Doapk工具和dex2jar工具介绍)
  13. Java开发常见专业术语
  14. 2018.1.23日记
  15. 俄亥俄州立大学计算机专业排名,俄亥俄州立大学哥伦布分校计算机科学专业排名第30(2020年USNEWS美国排名)...
  16. (转)怎样更好地理解并记忆泰勒展开式?
  17. 计算机技术对英语课堂,信息技术在英语课堂中的运用
  18. elasticsearch + ik
  19. 阿里arouter框架使用
  20. Artificial Fingerprinting for Generative Models: Rooting Deepfake Attribution in Training Data(主动防御)

热门文章

  1. MyEclipse的代码提示功能
  2. java list 之详解_java集合(二)List集合之ArrayList详解
  3. 云服务如何对外开发指定端口
  4. 实用设置_华为手机4个冷门实用的设置,都知道的绝对是资深花粉
  5. 使用GDAL打开裸数据(RAW)
  6. 使用Nacos配置中心云端化本地application.properties
  7. 一张图彻底了解Unity脚本的生命周期
  8. WebStorm——cocos2d-html5专用IDE
  9. linux c 数字变字符串,Linux C 知识 char型数字转换为int型 int型 转换为Char
  10. matlab数据分类与识别,Matlab图像识别/检索系列(3)—10行代码完成caltech图象集分类和识别...