谁说第一个测试点是样例的
by CGDGAD @ 2021-01-21 09:43:00
~~pair不香吗?为啥要自己写struct,而且为什么要用typedef?为啥不把pi定义成一个const?~~
每一次max都需要初始化,max意为每一轮的最远距离的平方,不初始化会保持不变,影响结果。
宁的代码:
```cpp
for (int j = 0; j < N; j++) {
long long dis = distance(poi[i].x, poi[i].y, poi[j].x, poi[j].y);
if (max < dis) {
max = dis;
}
}
```
应该为:
```cpp
max = 0;
for (int j = 0; j < N; j++) {
long long dis = distance(poi[i].x, poi[i].y, poi[j].x, poi[j].y);
if (max < dis) {
max = dis;
}
}
```
改好的代码:
```cpp
#include <iostream>
#include <cmath>
#include <stdio.h>
using namespace std;
typedef struct mypoint {
int x;
int y;
}point;
long long distance(int x1, int y1, int x2, int y2) {
return (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
}
int main()
{
int N;
cin >> N;
point poi[1005];
for (int i = 0; i < N; i++) {
cin >> poi[i].x >> poi[i].y;
}
long long max = 0;
long long temp;
for (int i = 0; i < N; i++) {
max = 0;
for (int j = 0; j < N; j++) {
long long dis = distance(poi[i].x, poi[i].y, poi[j].x, poi[j].y);
if (max < dis) {
max = dis;
}
}
if (i == 0) {
temp = max;
}
if (temp > max)
temp = max;
}
printf("%.4f", (double)temp * 3.1415926535);
return 0;
}
```
https://www.luogu.com.cn/record/45229666
by Cat_shao @ 2021-01-21 11:20:03
@[NSObject](/user/357545) 惊慌 ,我以为是呢,不好意思不好意思
by krgy @ 2021-01-22 14:22:38
@[Cat_shao](/user/234011) 非常感谢,会吸取教训的,谢谢谢谢
by krgy @ 2021-01-22 14:23:10