10199

#include <iostream> #include <cstdio> #include <vector> #include <sstream> #include <string> #include <algorithm> #include <queue> #include <cstring> #include <map> #include <set> using namespace std; map<string,int> mp; map<int,string> mp2; vector<int> gr[105]; //vector<int> V; bool visit[105]; bool ap[105]; int discTime[105]; int low[105]; int par[105]; int cnt; set<string> SET; void cutvertex(int u) { static int dsc_time=0; low[u]=discTime[u]=dsc_time++; visit[u]=1; int

315

A vertex in an undirected connected graph is an articulation point (or cut vertex) iff removing it (and edges through it) disconnects the graph. Articulation points represent vulnerabilities in a connected network – single points whose failure would split the network into 2 or more disconnected components. They are useful for designing reliable networks. For