c++利用数组记录路径 摘要:解题思路:使用一个bool已经dfs来判断环上点的位置,详细的看代码上的注释注意事项:参考代码:#include<bits/stdc++.h>#define DZT ios::sync_with_st…… 题解列表 2024年04月05日 0 点赞 0 评论 616 浏览 评分:0.0
蓝桥杯2017年第八届真题-发现环 摘要:解题思路:通过读题发现,只有一个环,那么就可以使用tarjan将这一个环缩成一个点,将这一个点中的点输出即可注意事项:参考代码:#include<bits/stdc++.h> using names…… 题解列表 2024年03月16日 0 点赞 0 评论 554 浏览 评分:0.0
蓝桥杯2017年第八届真题-发现环(纯dfs,无并查集) 解题思路:注意题目说法,如果将1作为根节点,建立一个树,只有一条边沟通树的非父子结点,故而我们可以首先dfs建立树,同时记录父结点,同时再做一遍dfs,此时注意保存沟通非父子节点的边所对应的两个结点。然后我们依照父结点数组追溯出这两个结点的所有祖先, 题解列表 2023年08月24日 0 点赞 0 评论 691 浏览 评分:9.9
棋盘染色法 给棋盘按发现顺序编号,当发现该节点已经标记过时就找到了环,记录下环起点时的染色编号,回溯时保存结果。需要注意的时我们要额外处理找到的节点是上一个节点,而不是环的情况```cpp#includeusingnamespacestd;constintN=1e5+5;intn, 题解列表 2023年04月07日 0 点赞 0 评论 548 浏览 评分:9.9
蓝桥杯2017年第八届真题-发现环(拓扑排序python) 摘要:解题思路: 关键点就在于怎么判断一个点是环上的点,还是一个普通的节点。每个点都统计度数(入度加上出度)。如果我们从所有度为1的点开始访问,对子节点的度数减少1,并判断子节点度数是否为1,为1才可以继续…… 题解列表 2023年03月25日 0 点赞 0 评论 664 浏览 评分:7.0
#C++1841——蓝桥杯2017年第八届真题-发现环 摘要:解题思路:因为是从1开始构造,就无需排序啦*******************************参考代码:#include <iostream> using namespace std; …… 题解列表 2023年03月19日 0 点赞 0 评论 579 浏览 评分:0.0
1841: 蓝桥杯2017年第八届真题-发现环 解题思路:注意事项:参考代码:packageYear_2017;importjava.util.ArrayList;importjava.util.Collection;importjava.util.Collections;importjava.util.HashMap;importjava.uti 题解列表 2023年03月18日 0 点赞 0 评论 600 浏览 评分:0.0
蓝桥杯2017年第八届真题-发现环(并查集, DFS) 摘要:解题思路:注意事项:参考代码:#include<bits/stdc++.h>using namespace std;const int N = 1e5 + 7;int p[N];bool vis[N]…… 题解列表 2022年08月08日 0 点赞 0 评论 576 浏览 评分:0.0
蓝桥杯2017年第八届真题-发现环-题解(C++代码) 解题思路:DFS不断向当前结点的下一个结点前进,顺便记下下一个结点的父节点以便回头可以找到所有在环上的结点。用一个数组s[maxn]记录DFS过程中每一个结点的访问状态,对于结点p,如果:s[p]=-1代表当前结点正在访问中;s[p]=0代表当前未被访问;s[p]=1代表当前结点已经被访问过了。 题解列表 2020年10月13日 0 点赞 0 评论 1580 浏览 评分:9.9
蓝桥杯2017年第八届真题-发现环-题解(C++代码)两种解法 #####这题的解法有两种###解法1:拓扑排序法,一个环里的点的度都是2,通过拓扑排序把所有能遍历到的点都遍历了,最后没有遍历的点的度数都为2,就是答案。```cpp#include#definexfirst#defineysecond#definemem(h)memset(h, 题解列表 2020年10月11日 0 点赞 0 评论 1480 浏览 评分:9.3