Problem D: [CSP-S1][程序阅读] 程序阅读9
Memory Limit:128 MB
Time Limit:1.000 S
Judge Style:Text Compare
Creator:
Submit:42
Solved:7
Description
bool vis[N]; vector<int> g[N]; void dfs(int u) { vis = true; for (int v : g) if (!vis[v]) dfs(v); } int countComponents(int n) { int cnt = 0; fill(vis, vis+n, false); for (int i = 0; i < n; ++i) if (!vis[i]) dfs(i), cnt++; return cnt; } |
判断题
1. `countComponents`返回图的连通块数量。( )
2. 若图有自环,`dfs`会进入死循环。( )
3. `vis`数组需在每次`dfs`前重置。( )
4. 若图为森林,连通块数等于树的数量。( )
5. 时间复杂度为O(V+E)。( )
选择题
6. 对于完全图`K₄`,返回值是:
A. 1 B. 2 C. 3 D. 4
7. 若`g`为空,`dfs(u)`的递归深度是:
A. 0 B. 1 C. n D. 未定义
8. 若`vis`初始为全true,返回值是:
A. 0 B. 1 C. n D. 未定义
9. 判断两点连通需调用:
A. `dfs(u)`后检查`vis[v]` B. 直接比较`u`和`v`
C. 使用BFS D. 无法判断
10. 若图是无向图,需如何建图?
A. 每条边存两次 B. 每条边存一次
C. 无需处理 D. 无法实现