1070-南邮仙林自行车停放场
描述
好消息!南邮规划建设自行车停放场,现已选定多个场地,它们均为规则多边形。现请你帮助学校确定哪块场地面积最大,这里以鼎山之顶为平面坐标原点,按顺时针或逆时针给出顶点坐标。
输入
输入数据中含有一些多边形场地(1≤数量≤20),按输入顺序编号(从1开始)。每个多边形场地的第一行数据n(3≤n≤10),后续n行分别给出顶点的平面坐标(平面两个坐标的绝对值≤50)。
输出
输出面积最大的多边形场地序号。当面积最大的多边形场地有多个时,输出这些场地中的最小序号
样例输入
2
3
0 0
0 1
1 0
4
0 0
0 1
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; }