问题求解III-HW01 题解

Problem A: 控制流图

给定一段伪代码,求出其控制流图中每个节点的入度和出度。

伪代码中我们只需关注 GOTO, IF-GOTO,和所有的 label 语句即可。对于 GOTOIF-GOTO 语句,当前基本块会有一条连向 GOTO 目标的边;此外,除非当前基本块的最后一条语句是无条件跳转,每个基本块都会向它的下一个基本块连边。

Problem B: 躺平

在一群人中给定一些两两排名先后的比较关系,问能否求出全场 rank 1。

将每个人抽象为图的一个顶点,A 的排名比 B 高则连一条从 A 到 B 的有向边。这样原问题转化为判断是否存在唯一的入度为 0 的节点,非常简单。

Previous
Next