✅ [c++]  ||  BFS
\n#define ll long long\nclass Solution {\npublic:\n    bool isInside(ll circle_x, ll circle_y, ll rad, ll x, ll y){\n        if ((x - circle_x) * (x - circle_x)
```\n#define ll long long\nclass Solution {\npublic:\n    bool isInside(ll circle_x, ll circle_y, ll rad, ll x, ll y){\n        if ((x - circle_x) * (x - circle_x) + (y - circle_y) * (y - circle_y) <= rad * rad) return true;\n        else return false;\n    }\n    \n    int bfs(int i, unordered_map<int,vector<int>> &map, int n){\n        vector<int> vis(n,false);\n        queue<int> q;\n        q.push(i);\n        vis[i] = true;\n        int count=0;\n        while(!q.empty()){\n            int cur = q.front(); q.pop();\n            count++;\n            for(auto &child : map[cur]){\n                if(vis[child]==false){\n                    q.push(child);\n                    vis[child] = true;\n                } \n            }\n        }\n        return count;\n    }\n    \n    int maximumDetonation(vector<vector<int>>& bombs) {\n        int n = bombs.size();\n        unordered_map<int,vector<int>> map;\n        \n        for(int i=0; i<n; ++i){\n            int circle_x = bombs[i][0];\n            int circle_y = bombs[i][1];\n            int rad = bombs[i][2];\n            for(int j=0; j<n; ++j){\n                if(i!=j){\n                    int x = bombs[j][0];\n                    int y = bombs[j][1];\n                    if(isInside(circle_x, circle_y, rad, x, y)) map[i].push_back(j);\n                } \n            }\n        }\n        \n        int maxDefuse = 0;\n        for(int i=0; i<n; ++i){\n            maxDefuse = max(maxDefuse, bfs(i,map,n));\n        }\n        return maxDefuse;\n    }\n};\n```\nPlease **UPVOTE**
['Breadth-First Search', 'Graph', 'C', 'C++']