This commit is contained in:
kkunkka
2025-10-19 16:16:55 +08:00
parent 4e30268226
commit 42c979ec18

View File

@@ -0,0 +1,50 @@
package com.dota.graph._2101;
import java.util.ArrayList;
import java.util.List;
class Solution {
public int maximumDetonation(int[][] bombs) {
int n = bombs.length;
var g = new ArrayList<List<Integer>>();
for (int i = 0; i < n; i++) {
g.add(new ArrayList<>());
;
}
int max = 1;
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
long a = bombs[i][0] - bombs[j][0];
long b = bombs[i][1] - bombs[j][1];
long c = bombs[i][2];
long d = bombs[j][2];
if (a * a + b * b <= c * c) {
g.get(i).add(j);
}
if (a * a + b * b <= d * d) {
g.get(j).add(i);
}
}
}
for (int i = 0; i < n; i++) {
int size = df(g, new boolean[n], i);
if (size > max) {
max = size;
}
}
return max;
}
int df(List<List<Integer>> g, boolean[] visited, int x) {
visited[x] = true;
int size = 1;
for (Integer i : g.get(x)) {
if (!visited[i]) {
size += df(g, visited, i);
}
}
return size;
}
}