C++ || EASY TO UNDERSTAND || DFS
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```\nclass Solution {\npublic:\n\n    void dfs(int node, int &count, vector<vector<int>> &adj, vector<int> &visited){\n        visited[node] = true;\n        count++;\n        for(auto neigh:adj[node]){\n            if(!visited[neigh])\n                dfs(neigh, count, adj, visited);\n        }\n    }\n\n    int maximumDetonation(vector<vector<int>>& bombs) {\n        int n  = bombs.size();\n        vector<vector<int>> adj(n);\n\n        for(int i=0;i<n;i++){\n            for(int j=0;j<n;j++){\n                int xi = bombs[i][0], yi = bombs[i][1], ri = bombs[i][2];\n                int xj = bombs[j][0], yj = bombs[j][1];\n                if(i != j && (long)ri * ri >= (long)(xi - xj) * (xi - xj) + (long)(yi - yj) * (yi - yj) ){\n                    adj[i].push_back(j);\n                }\n            }\n        }\n\n        \n        int ans = -1;\n\n        for(int i=0;i<n;i++){\n            int count = 0;\n            vector<int> visited(n, 0);\n            dfs(i, count, adj, visited);\n            ans = max(ans, count);\n        }\n\n\n        return ans;\n    }\n};\n```
['C++']