栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 1419 Buggy Sat

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 1419 Buggy Sat

#include<cstdlib>#include<cmath>#include<cstdio>#include<algorithm>#define max(a,b) (((a)>(b))?(a):(b))#define min(a,b) (((a)>(b))?(b):(a))#define sign(x) ((x)>eps?1:((x)<-eps?(-1):(0))) using namespace std;const int MAXN=1000;const double eps=1e-8,inf=1e50;struct point{    double x,y;    point(){}    point(double _x,double _y){x=_x;y=_y;}}po[100];inline double xmult(point o,point a,point b){    return (a.x-o.x)*(b.y-o.y)-(b.x-o.x)*(a.y-o.y);}inline double xmult(double x1,double y1,double x2,double y2){    return x1*y2-x2*y1;}inline double getarea(point pg[],int n){    double area=0;    pg[n]=pg[0];    for(int i=0;i<n;i++)        area+=xmult(pg[i].x,pg[i].y,pg[i+1].x,pg[i+1].y);    return fabs(area)/2.0;}int main(){    int T;    for(scanf("%d",&T);T;T--)    {        int n,m,ans=0,num;        double area=0.0;        scanf("%d",&n);        for(int i=1;i<=n;i++) scanf("%lf%lf",&po[i].x,&po[i].y);        point pg[100];        scanf("%d",&m);        for(int i=1,k,tp;i<=m;i++)        { scanf("%d",&num); k=0; for(int j=0;j<num;j++) {     scanf("%d",&tp);     pg[k++]=po[tp]; } double ar=getarea(pg,num); if(ar>area) {     area=ar;     ans=i; }        }        printf("%dn",ans);    }    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/369490.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号