zoukankan      html  css  js  c++  java
  • POJ 2365 Rope(水题)

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

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

    见代码:


    #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
    ",ans);
    	return 0;
    	
    }


  • 相关阅读:
    Node.js 究竟是什么?
    天津自考学习之“六步看书法”
    C专家编程cdecl
    Linux系统启动流程及安装命令行版本
    Java学习路线
    GCC内置宏
    GMP
    二级存储构建倒排索引
    余弦距离与欧式距离
    af
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/3998030.html
Copyright © 2011-2022 走看看