求助一道站外题,暴搜40pts
  • 板块学术版
  • 楼主123rrc
  • 当前回复3
  • 已保存回复3
  • 发布时间2022/8/15 13:30
  • 上次更新2023/10/27 15:20:26
查看原帖
求助一道站外题,暴搜40pts
538243
123rrc楼主2022/8/15 13:30

题面只有图片版,如下所示:

暴搜代码:

#include<bits/stdc++.h>
using namespace std;
struct node{ //表示点的结构体
    int x,y;
}ns[3001];
double dis(node a,node b){ //求两点之间的距离
    return sqrt(1.0*(a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}
int main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>ns[i].x>>ns[i].y;
    }
    double area=0.0; //面积和
    for(int i=1;i<=n;i++){
        for(int j=i+1;j<=n;j++){
            for(int k=j+1;k<=n;k++){
                node a=ns[i],b=ns[j],c=ns[k];
                double d1=dis(a,b),d2=dis(b,c),d3=dis(a,c);
                double p=(d1+d2+d3)/2.0;
                area+=sqrt(1.0*p*(p-d1)*(p-d2)*(p-d3)); //运用海伦公式,求三角形面积
            }
        }
    }
    printf("%.1lf",area);
    return 0;
}

AC 1010 个点,WA 33 个点,TLE 1212 个点(说实话,我不知道为什么 WA)。

请各位神犇帮忙解说思路,谢谢!

2022/8/15 13:30
加载中...