Problem 2687 --Graph I - Depth First Search

2687: Graph I - Depth First Search

"
Time Limit $1$ 秒/Second(s) Memory Limit $512$ 兆字节/Megabyte(s)
提交总数 $0$ 正确数量 $0$
裁判形式 标准裁判/Standard Judge 我的状态 尚未尝试
难度 分类标签 STL

Depth First Search

Depth-first search (DFS) follows the strategy to search ”deeper” in the graph whenever possible. In DFS, edges are recursively explored out of the most recently discovered vertex v that still has unexplored edges leaving it. When all of v's edges have been explored, the search ”backtracks” to explore edges leaving the vertex from which v was discovered. 

This process continues until all the vertices that are reachable from the original source vertex have been discovered. If any undiscovered vertices remain, then one of them is selected as a new source and the search is repeated from that source. 

DFS timestamps each vertex as follows: 

d[v] records when v is first discovered. 

f[v] records when the search finishes examining v’s adjacency list. 

Write a program which reads a directed graph G=(V,E) and demonstrates DFS on the graph based on the following rules:

G is given in an adjacency-list. Vertices are identified by IDs 1,2,...n respectively. 

IDs in the adjacency list are arranged in ascending order. 

The program should report the discover time and the finish time for each vertex. 

When there are several candidates to visit during DFS, the algorithm should select the vertex with the smallest ID. 

The timestamp starts with 1.

In the first line, an integer n denoting the number of vertices of G is given. In the next n lines, adjacency lists of u  are given in the following format: 

u k v1 v2 ... vk 

u is ID of the vertex and k denotes its degree. vi are IDs of vertices adjacent to u.

For each vertex, print id, d and f separated by a space character in a line. id is ID of the vertex, d and f is the discover time and the finish time respectively. Print in order of vertex IDs.
4
1 1 2
2 1 4
3 0
4 1 3
1 1 8
2 2 7
3 4 5
4 3 6
1≤ n≤ 100

推荐代码 查看2687 所有题解 上传题解视频得图灵币

本题记录 用 户(点击查看用户) 运行号(点击购买题解) 时 间
算法最快[$ $ms]
内存最少[$ $KB]
第一AC
第一挑战 王天驰 808063 2022-01-28 18:22:37

赛题来源/所属竞赛 会津大学《挑战数据结构与算法》 挑战数据结构与算法

竞赛编号 竞赛名称 竞赛时间 访问比赛