zoukankan      html  css  js  c++  java
  • 绕钉子的长绳子

    题目背景

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

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

    题目描述

    求出绳子的长度

    输入输出格式

    输入格式:

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

    接下来N行按逆时针顺序给出N个钉子中心的坐标

    坐标的绝对值不超过100。

    输出格式:

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

    输入输出样例

    输入样例#1:
    4 1
    0.0 0.0
    2.0 0.0
    2.0 2.0
    0.0 2.0
    
    输出样例#1:
    14.28
    

    说明

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

    本题来自URAL1020,翻译来自NOCOW。

    所有的圆弧合起来一定是一个圆。

    两点间距离公式:

    代码实现:

     1 #include<cmath>
     2 #include<cstdio>
     3 using namespace std;
     4 int n;
     5 double r,l,x[110],y[110];
     6 const double pi=3.1415926;
     7 int main(){
     8     scanf("%d%lf",&n,&r);
     9     l+=2*pi*r;
    10     for(int i=1;i<=n;i++) scanf("%lf%lf",&x[i],&y[i]);
    11     x[n+1]=x[1],y[n+1]=y[1];
    12     for(int i=1;i<=n;i++)
    13     l+=sqrt((x[i]-x[i+1])*(x[i]-x[i+1])+(y[i]-y[i+1])*(y[i]-y[i+1]));
    14     printf("%.2lf",l);
    15     return 0;
    16 }

    我自己打的开方函数居然只过了一半的点。

    题目来源:洛谷

  • 相关阅读:
    myeclipse-9.0安装svn客户端插件
    jquery中lhgdialog插件(一)
    Jquery之ShowLoading遮罩组件
    git 命令
    org.apache.ibatis.builder.IncompleteElementException: Could not find parameter map
    在线压缩图片网址
    如何在知网下载外文文献
    Linux 常见命令
    在VIM 里面编辑和保存
    vi a.sh ABCD
  • 原文地址:https://www.cnblogs.com/J-william/p/6305863.html
Copyright © 2011-2022 走看看