1070-南邮仙林自行车停放场

描述

 

好消息!南邮规划建设自行车停放场,现已选定多个场地,它们均为规则多边形。现请你帮助学校确定哪块场地面积最大,这里以鼎山之顶为平面坐标原点,按顺时针或逆时针给出顶点坐标。

输入

 

输入数据中含有一些多边形场地(1≤数量≤20),按输入顺序编号(从1开始)。每个多边形场地的第一行数据n3n10),后续n行分别给出顶点的平面坐标(平面两个坐标的绝对值≤50)。

输出

 

输出面积最大的多边形场地序号。当面积最大的多边形场地有多个时,输出这些场地中的最小序号

样例输入

2

3

0 0

0 1

1 0

4

0 0

0 1

1

1 0

样例输出

2

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

int main()
{

    int test,n,i,count=0;
    double a[11][2],max=0;
    cin>>test;
    for(int k=0;k<test;k++)
    {
        cin>>n;
        double s=0;
        for(i=0;i<n;i++)
            cin>>a[i][0]>>a[i][1];
        for(i=0;i<n;i++)
        {
            i%=n;
            s+=a[i][0]*a[(i+1)%n][1]-a[(i+1)%n][0]*a[i][1];
        }

        s=fabs(0.5*s);

        if(max<s) 
        {
            max=s;
            count=k+1;
        }
    }
    cout<<count<<endl;
    return 0;
} 

  

原文地址:https://www.cnblogs.com/Rosanna/p/3436836.html