Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <vector>#include <limits>#include <cstring>using namespace std;static int *edges_header, *edges_next, *edges;static int *vertex_in_biconnected_graph;static int *parent, *visited;static int *dfn, *low;static vector<int> bridge_vertices;static int dfs_index = 0;void DeleteEdge(int vertex1, int vertex2) {int prev_edge_index = edges_header[vertex1];int edge_index = edges_next[prev_edge_index];if (edges[prev_edge_index] == vertex2)edges_header[vertex1] = edge_index;while (edge_index != 0) {int next_vertex = edges[edge_index];if (next_vertex == vertex2)edges_next[prev_edge_index] = edges_next[edge_index];prev_edge_index = edge_index;edge_index = edges_next[edge_index];}}