zoukankan      html  css  js  c++  java
  • [CKOJ] ROUND 7 Problem A 多边形周长

    题目描述

    给你一堆(凸)多边形,要求计算每个多边形的周长

    输入数据

    • 第一行一个整数T表示数据组数
    • 接下来T组数据格式如下
    • 第一行一个整数n表示(凸)多边形顶点数
    • 接下来n行每行两个表示多边形坐标
    • 所有点保证按逆时针顺序给出

    输出数据

    • T行,每行一个小数表示对应多边形的周长
    • 误差应控制在1e-6以内

    样例输入

    • 1
    • 3
    • 2 4
    • 4 4
    • 3 2

    样例输出

    • 6.472135955000

    输入

    输出

    提示


    对于100%的数据,保证T<=100,3<=n<=233

    模拟题一道

    注意保留位数就行

        

    #include <iostream>
    #include <cmath>
    #include <iomanip>
    using namespace std;
    double a[100010];
    int main()
    {
    	int N;
    	cin>>N;
    	while(N--)
    	{
    		int tn;
    		cin>>tn;
    		tn*=2;
    		for(int i=0;i<100010;i++)
    			a[i]=0;
    		for(int i=0;i<tn;i++)
    		{
    			cin>>a[i];
    		}
    		double ans=0,x,y;
    		for(int i=0;i<tn;i+=2)
    		{
    			
    			if(i==tn-2)
    			{
    				x=a[i]-a[0];
    				y=a[i+1]-a[1];
    			}
    			else
    			{
    				x=a[i]-a[i+2];
    				y=a[i+1]-a[i+3];
    			}
    			ans+=sqrt(x*x+y*y);
    		}
    		cout<<fixed<<setprecision(12)<<ans<<endl;
    	}
    	return 0;
    }
    
  • 相关阅读:
    盘子序列
    最大矩形面积
    【模板】ST表
    排队
    map循环遍历
    vue循环遍历给div添加id
    正则 匹配
    字符串拼接
    js对象追加到数组里
    二级标题左侧加粗线条
  • 原文地址:https://www.cnblogs.com/zeolim/p/12270776.html
Copyright © 2011-2022 走看看