求助,20分的代码,不知道哪里的问题
  • 板块P1927 防护伞
  • 楼主direven
  • 当前回复5
  • 已保存回复5
  • 发布时间2021/2/1 15:44
  • 上次更新2023/11/5 04:00:58
查看原帖
求助,20分的代码,不知道哪里的问题
459783
direven楼主2021/2/1 15:44
#include <iostream>
#include <string>
#include <cmath>
#include <cstdio>
#define PI 3.1415926535
using namespace std;

class Point
{
public:
    int x;
    int y;
};

double dis(Point p1, Point p2)
{
    double dis = sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y));
    return dis;
}

int main()
{
    int n;
    cin >> n;
    Point point[1000];
    for (int i = 0; i < n; i++)
    {
        cin >> point[i].x >> point[i].y;
    }
    double min = dis(point[0], point[1]);
    for (int i = 0; i < n; i++)
    {
        double max = dis(point[i], point[0]);
        for (int j = 0; j < n; j++)
        {
            if (dis(point[i], point[j]) >= max)
            {
                max = dis(point[i], point[j]);
            }
        }
        if(max<min){
            min = max;
        }
    }
    double area = PI*min*min;
    printf("%.4f",area);
    system("pause");
}
2021/2/1 15:44
加载中...