C++ || Using DFS || Neat code with comments
\nclass Solution {\npublic:\n    void dfs(int node, vector<bool>&visited, vector<int>adj[], int &currDiffused){\n        \n        currDiffused += 1;// increasi
```\nclass Solution {\npublic:\n    void dfs(int node, vector<bool>&visited, vector<int>adj[], int &currDiffused){\n        \n        currDiffused += 1;// increasing the number of bombs getting detonated as we do dfs traversal\n        \n        for(auto child : adj[node]){\n            if(!visited[child]){\n                visited[child] = true;\n                dfs(child, visited, adj, currDiffused);\n            }\n        }\n    }\n    int maximumDetonation(vector<vector<int>>& arr) {\n        \n        int n = arr.size();\n        vector<int>adj[n];\n        \n        //forming adjacency list\n        for(int i = 0; i < n; i++){\n            \n            long long x = arr[i][0], y = arr[i][1], r = arr[i][2];\n            for(int j = 0; j < n; j++){\n                \n                if(i == j) continue;// current cirle(node) can\'t have itself as its adjacent node\n                \n                long long xx = arr[j][0], yy = arr[j][1];\n                long long diffx = (x - xx) * (x - xx), diffy = (y - yy) * (y - yy), rSquare = r * r;\n                if(diffx + diffy <= rSquare){// jth bomb will also diffuse if it\'s center lies inside the ith bomb\'s range, so jth bomb will be adjacent node to ith bomb\n                    adj[i].push_back(j);\n                }\n                \n            }\n        }\n        \n        int maxDiffused = 0;//will store maximum bombs that can be detonated\n        for(int node = 0; node < n; node++){\n            \n            vector<bool>visited(n, false);\n            \n            int currDiffused = 0;// It stores maximum bombs that will be detonated, if we detonate current bomb node\n            if(!visited[node]){\n                \n                visited[node] = true;\n                dfs(node, visited, adj, currDiffused);\n            }\n          \n            maxDiffused = max(maxDiffused, currDiffused);\n        }\n        \n        return maxDiffused;\n    }\n};\n```
['Depth-First Search', 'Graph', 'Geometry', 'C++']