Vijos P1007绕钉子的绳子
来源:互联网 发布:淘宝开店本人营业执照 编辑:程序博客网 时间:2024/05/01 04:28
P1007绕钉子的长绳子
背景
平面上有N个圆柱形的大钉子,半径都为R,所有钉子组成一个凸多边形。
现在你要用一条绳子把这些钉子围起来,绳子直径忽略不计。
描述
求出绳子的长度
格式
输入格式
第1行两个数:整数N(1<=N<=100)和实数R。
接下来N行按逆时针顺序给出N个钉子中心的坐标
坐标的绝对值不超过100。
输出格式
一个数,绳子的长度,精确到小数点后2位。
样例1
样例输入1[复制]
4 10.0 0.02.0 0.02.0 2.00.0 2.0
样例输出1[复制]
14.28
限制
各个测试点1s
提示
如果你用比较复杂的方法AC了,请想一想有没有更加简便的方法。
来源
Ural
分析:纯数学问题,结论是:绳子的长度=圆柱中心围成的多边形周长+一个圆柱的周长。
LANGUAGE:c++
CODE:
#include <iostream>#include <cmath>#include <iomanip>using namespace std;int main(){ const double PI=3.14159265; int n; double r,x[1005],y[1005]; cin>>n>>r>>x[0]>>y[0]; double sum=PI*r*2; for(int i=1;i<n;i++){ cin>>x[i]>>y[i]; sum+=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) sum+=sqrt((x[i]-x[0])*(x[i]-x[0])+(y[i]-y[0])*(y[i]-y[0])); } cout<<setprecision(2)<<fixed<<sum; return 0;}
0 0
- Vijos P1007绕钉子的绳子
- vijos P1007 绕钉子的长绳子
- Vijos P1007 绕钉子的长绳子
- vijos P1007绕钉子的长绳子
- Vijos P1007 绕钉子的长绳子
- 【Vijos P1007】绕钉子的长绳子 c++题解
- 绕钉子的绳子
- P1007绕钉子的长绳子
- vijos-绕钉子的长绳子
- Vijos 1007题:绕钉子的长绳子
- Vijos 1007 饶钉子的长绳子
- 绕钉子的长绳子
- [vijos1007] 绕钉子的长绳子
- vijos1007 绕钉子的长绳子
- 洛谷 P1513 绕钉子的长绳子
- 钉子的故事
- 户外运动用的绳子。
- 绳子的制作
- 3D数学基础--3D中的方位与角位移(3)
- 疯狂ios讲义之自定义UI控件
- 一种基于im客户端实现消息图片管理的方法和装置
- 使用 iOS6 自带的 social.framework 实现分享文字图片等到新浪微博,twitter,
- TreeMap集合如何按照Value进行排序
- Vijos P1007绕钉子的绳子
- android耗时任务_AsyncTask
- jquery unbind的使用
- xshell的快捷键(非常实用)
- 解析C#中[],List,Array,ArrayList的区别及应用
- 能量英语(二) 之 “ 情感把控 I ”
- android自动登录的实现
- UML类图关系
- iOS synchronized的作用