而判断的方式只是简单的dfsdfs:(大佬牛逼) // color是染色的点,1为灰,2为黑,0为白, flag是因为第一次判断出来的只是部分的点//我们还需要多次dfs,将从-1和2延申出来的点给找出来,所以会用q1和q2两个队列进行记录起始点voiddfs(intu,intflag){ color[flag][u] =1;for(inti = head[u];
有向图找环DFS //欢迎指正!!!// //有向图找环 //输入n条边constintmaxvex =500;intgraph[maxvex][maxvex] = {0};//邻接矩阵set<int>vexs;//顶点容器boolvisitted[maxvex] = {false};//访问数组vector<vector<int>>ans;//路径容器voidCreatGraph() {inteages =0; cin>>eages;intfirst, second...
而判断的方式只是简单的\(dfs\):(大佬牛逼) // color是染色的点,1为灰,2为黑,0为白, flag是因为第一次判断出来的只是部分的点 //我们还需要多次dfs,将从-1和2延申出来的点给找出来,所以会用q1和q2两个队列进行记录起始点 void dfs(int u, int flag) { color[flag][u] = 1; for(int i = h...