找环+DFS+记录方案
题意要求,找到一个环,同时环上存在一个点,该点存在两条不在环上的点,并输出对应的边。
该图的一种解决方案如下
YES 6 5 4 6 4 4 3 1 4 2 1 3 2
思路: 先找到可能构成环的点(任意保存在一个容器st里面),如果环上一点的度数>=4,可以证明存在一个构造方案。 对于环上度数大等于4的点,dfs看能不能暴力搜回自己,同时在这个过程中存储下对应的路径,记录方案以备后面输出
对于如何找环,用bfs感觉不太准确,bfs能处理出哪些点肯定不能构成环,但我暂时无法处理出构成的环具体是什么。 所以就瞎搞,处理出哪些可能是在环上的点,再暴力搜索看能不能搜回自己,搜回到自己说明存在环。这时如果该点的度数再满足大等于4的条件就是有解了。