AlgoMooc
← 返回题库

X4058. 小慕的程序栈安全检测

困难通过率 50% · 提交 10 · 通过 5
DFS图论模拟

小慕正在开发一个项目,项目中包含多个函数,每个函数都有特定的栈大小。在项目运行过程中,函数之间存在调用关系,而系统配置了一个最大栈空间。如果某个超过了系统的最大配置,则会发生异常。 例如,项目包含如下的函数调用: A() { B(); C(); } B() { D(); } C() { E(); } 在这个项目中: `A` 调用了 `B` 和 `C`; `B` 调用了 `D`; `C` 调用了 `E`。 假设每个函数的独立栈大小如下: `A` 的栈大小为 `10`(不包括 `B` 和 `C` 的栈大小); `B` 的栈大小为 `20`; `C` 的栈大小为 `5`; `D` 的栈大小为 `15`; `E` 的栈大小为 `50`。 项目执行时,最大栈空间消耗路径为 `A > C > E`,栈消耗为 `65`(相比之下,`A > B > D` 的路径栈消耗为 `45`)。如果系统配置的最大栈空间为 `60`,那么 `A > C > E` 的执行将导致栈溢出。

提示:带虚线的词点一下有通俗解释。

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解(训练营专属)

登录后查看题目图解

题目图解为训练营学员专属内容,请先登录。

微信扫码登录还不是训练营学员?了解训练营 →
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「小慕的程序栈安全检测」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。