Easy to understand, Straight forward C++ solution || 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    bool check(int xi, int yi, int ri, int xj, int yj){\n        // return (long)ri * ri >= (long)(xi - xj) * (xi - xj) + (long)(yi - yj) * (yi - yj); \n        long long c1c2 = (long long )(xi - xj) * (xi - xj) + (long long)(yi - yj) * (yi - yj);\n        long long r1r2 = (long long) ri * ri;\n        return r1r2 >= c1c2;\n    }\n    void dfs(int node, vector<vector<int>>&g, vector<int>&vis, int &cnt){\n        cnt++;\n        vis[node] = 1;\n        for(auto i:g[node]){\n            if(!vis[i]) dfs(i,g,vis,cnt);\n        }\n    }\n    int maximumDetonation(vector<vector<int>>& bombs) {\n        int n = bombs.size();\n        vector<vector<int>>g(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 && check(xi,yi,ri,xj,yj)){\n                    g[i].push_back(j);\n                } \n            }\n        }\n        int ans = 0;\n        for(int i=0; i<n; i++){\n            int cnt = 0;\n            vector<int>vis(n,0);\n            dfs(i,g,vis,cnt);\n            ans = max(ans,cnt);\n        }\n        return ans;\n    }\n};\n```
['Depth-First Search', 'Graph', 'C++']