码迷,mamicode.com
首页 > 其他好文 > 详细

POJ 2365 Rope(水题)

时间:2014-09-28 16:16:52      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   os   ar   for   sp   div   2014   

【题意简述】:给出我们钉子个数与半径,让我们求出缠绕在钉子上的绳子有多长。

【分析】:从题目中我们能够看出,绳子长度的和等于每两个钉子的距离的和加上接触在钉子上的绳子的长度,不难发现这部分长度事实上就等于钉子的周长。

见代码:


#include<iostream>
#include<cmath>
using namespace std;

#define Pi 3.1415//这个精度要尽量高! 也能够用4.0*atan(1.0) 

double s(double x1,double y1,double x2,double y2)
{
	return sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
}

int main()
{
	int N;
	double R;  //  注意这里半径不要用int 
	double x[110],y[110];
	double ans = 0;
	cin>>N>>R;
	for(int i = 0;i<N;i++)
	{
		cin>>x[i]>>y[i];
	}
	for(int i = 1;i<N;i++)
	{
		ans+=s(x[i-1],y[i-1],x[i],y[i]);
	}
	ans+=s(x[0],y[0],x[N-1],y[N-1]);
	ans+=2*Pi*R;
	printf("%.2lf\n",ans);
	return 0;
	
}


POJ 2365 Rope(水题)

标签:style   blog   io   os   ar   for   sp   div   2014   

原文地址:http://www.cnblogs.com/hrhguanli/p/3998030.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!