小慕正在开发一个项目,项目中包含多个函数,每个函数都有特定的栈大小。在项目运行过程中,函数之间存在调用关系,而系统配置了一个最大栈空间。如果某个的超过了系统的最大配置,则会发生异常。 例如,项目包含如下的函数调用: 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