The following problem deals with finding the biconnected components in an Undirected graph and treating them as vertices. The code provided in editorial isn't easy for me to understand. Can someone share a template code for how to find biconnected components?

The code given on GeeksforGeeks finds the edges in a biconnected component. I do not trust it as in the solution given there, he talks about cross-edge and stuff. Cross-edge in undirected graph?

Link to the Problem --> Problem E. Pursuit For Artifacts