1 solutions
-
2
观察到 ,所以暴力都可以过。
唯一要注意的一点就是 到 并不能保证 也到 ,用 DFS 暴力乱搞一下就过了。
代码如下:
#include <bits/stdc++.h> using namespace std; int ans, n, vis[205]; struct node { int x, y, p; } a[205]; double dis(node a, node b) { return sqrt((a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y)); } void dfs(int x) { for (int i = 1; i <= n; i++) { if (dis(a[x], a[i]) <= a[x].p && !vis[i]) { vis[i] = 1; dfs(i); } } } int main() { cin >> n; for (int i = 1; i <= n; i++) cin >> a[i].x >> a[i].y >> a[i].p; for (int i = 1; i <= n; i++) { int cnt = 0; memset(vis, 0, sizeof(vis)); vis[i] = 1; dfs(i); for (int j = 1; j <= n; j++) if (vis[j]) cnt++; ans = max(ans, cnt); } cout << ans << endl; return 0; }
- 1
Information
- ID
- 2480
- Time
- 1000ms
- Memory
- 125MiB
- Difficulty
- 3
- Tags
- # Submissions
- 6
- Accepted
- 3
- Uploaded By