暑期集训出的第一道一血 感觉自己萌萌哒……

这道题本身并没有坑点 仅仅是翻译巨坑……

解大腿在做B 安学长在做E 我闲着也没事 就一个词一个词翻译F……

最后感觉……

题干大多数都看不懂……

也都没啥用……

大概呢……

就是给你n个点……

m条回路……

问你哪条回路是最外面的……

总之最后就是让你求哪个回路组成的图形面积最大……

考点就是多边形面积公式……

怕有误差就没加/2……

好像加了也能过吧……

WA了两次 一次是选错点了 一次是第一个点和最后一个点顺序反了……

#include<stdio.h>#include<string.h>struct point{int x,y;}p[];int area(point a,point b){return((a.x*b.y)-(b.x*a.y));}int main(){int T; scanf(“%d”,&T);while(T–){int n; scanf(“%d”,&n);for(int i=;i<=n;i++) scanf(“%d%d”,&p[i].x,&p[i].y);int m,q;int s[];int maxn=-;int flag; scanf(“%d”,&m);for(int i=;i<=m;i++){ scanf(“%d”,&q);int now=; scanf(“%d”,&s[]);for(int j=;j<q;j++){ scanf(“%d”,&s[j]); now+=area(p[s[j-]],p[s[j]]);} now+=area(p[s[q-]],p[s[]]);if(now>maxn){ maxn=now; flag=i;}} printf(“%d\n”,flag);}return;}

发表回复

您的电子邮箱地址不会被公开。