BFS, C++
First make a graph in such a way  that there will be a directed edge from u to v if and only if the distance between u and v is less than or equal to the radius
First make a graph in such a way  that there will be a directed edge from u to v if and only if the distance between u and v is less than or equal to the radius of u.\n\nThen do Bfs one by one from each bomb and find the maximum ans.\n\ncode:\n```\nint maximumDetonation(vector<vector<int>>& nums) {\n        vector<vector<int>>graph(nums.size(), vector<int>());\n        for(int i=0;i<nums.size();i++){\n            int cx=nums[i][0], cy=nums[i][1], cr=nums[i][2];\n            for(int j=0;j<nums.size();j++){\n                if(i!=j){\n                    int x=nums[j][0], y=nums[j][1];\n                    long long dis=(long long)pow(abs(cx-x), 2)+(long long)pow(abs(cy-y), 2);\n                    if(sqrt(dis)<=cr){\n                        graph[i].push_back(j);\n                    }\n                }\n            }\n        }\n        int ans=0;\n        for(int i=0;i<nums.size();i++){\n            int cur=0;\n            queue<int>q;\n            q.push(i);\n            unordered_map<int, int>visited;\n            visited[i]=1;\n            while(!q.empty()){\n                int f=q.front();q.pop();\n                cur++;\n                for(auto v:graph[f]){\n                    if(visited[v]==0){\n                        q.push(v);\n                        visited[v]=1;\n                    }\n                }\n            }\n            ans=max(ans, cur);\n        }\n        return ans;\n    }\n```
['Breadth-First Search', 'C']