这个显卡不太冷 发表于 2023-2-12 19:58:12

这题不是纯暴力吗(?

这个显卡不太冷 发表于 2023-2-12 19:59:23

本帖最后由 这个显卡不太冷 于 2023-2-12 20:05 编辑

```cpp
#include<bits/stdc++.h>
using namespace std;
struct Point {
    int x, y;
    int dis1, dis2;
    Point(int x, int y): x(x), y(y) {}
    Point() {}
};

int main() {
    Point m1(1, 2), m2(1, 2);
    cin >> m1.x >> m1.y >> m2.x >> m2.y;
    int n; cin >> n;
    vector<Point> p(n);
    for (int i = 0; i < n; i++) {
      cin >> p.x >> p.y;
      p.dis1 = abs(p.x - m1.x) * abs(p.x - m1.x)
            + abs(p.y - m1.y) * abs(p.y - m1.y);
      p.dis2 = abs(p.x - m2.x) * abs(p.x - m2.x)
            + abs(p.y - m2.y) * abs(p.y - m2.y);
    }
    sort(p.begin(), p.end(), [](Point a, Point b) {
      return a.dis1 < b.dis1;
    });
    int ans = p.dis1;

    //debug
    // for (int i = 0; i < n; i++) {
    //   cout << p.x << ' ' << p.y << ' ' << p.dis1 << ' ' << p.dis2 << endl;
    // }

    vector<int> surfixMax(n);
    surfixMax = p.dis2;
    for (int i = n - 2; i >= 0; i--) {
      surfixMax = max(surfixMax, p.dis2);
    }
    for (int i = 0; i < n - 1; i++) {
      ans = min(ans, p.dis1 + surfixMax);
    }
    cout << ans << endl;
}
```

从小到大遍历MissileA的所有半径,后缀Max一下B的最大半径,加起来。所有可能性取最小不就好了

Liusitong 发表于 2023-2-13 11:47:53

本帖最后由 Liusitong 于 2023-2-13 11:51 编辑

这个显卡不太冷 发表于 2023-2-12 19:59
```cpp
#include
using namespace std;


大佬好厉害……做题还是等退烧之后再说吧,脑子都烧坏了……
对乙酰氨基酚只能降到38.6,没五个小时又升到39.2了,唉。
页: 1 2 [3]
查看完整版本: 这里是正在机房摸鱼的楼主……