P5698 [CTSC1998] 算法复杂度

题目背景

CTSC1998 D1T3 我们在编程时,最关心的一个问题就是算法的时间复杂度。但是分析一个程序的复杂度是一项很困难的工作,在程序的码风不是很好的情况下更是如此。 所以,专门研究算法的 SERKOI 小组决定开发出一个分析程序时间复杂度的软件。由于这是一个全新的领域,所以 SERKOI 小组决定先从简单情况入手进行分析。

题目描述

为了简化问题,程序只包含循环和顺序结构,程序的结构定义如下: $\texttt{begin end}$ 一个语句块的结构是**递归定义**的,如下所示: $\texttt{loop x end}$ 或者 $\texttt{op }$ 或者为 $\texttt{break }$ 或者为 $\texttt{continue }$ 语句块可以为空。 注意: 1. 一个程序都是以 $\texttt{begin}$ 开始,以相应的 $\texttt{end}$ 结束; 2. $\texttt{loop x end}$ 表示其中的语句重复执行 $x$ 次; 3. $\texttt{op x}$ 表示执行 $x$ 个单位操作; 4. 上面两点中的 $x$ 可以是一个正整数或 $n$; 5. $\texttt{break}$ 语句的作用是跳出这一层循环, $\texttt{continue}$ 语句的作用是跳过这一层循 环的其它语句,直接进入下一次循环。如果它($\texttt{break}$ 或 $\texttt{continue}$)不在任何一层循环中,**请忽略它们**。 你需要写一个程序,用来求出题目描述的程序的时间复杂度,并以多项式的形式输出。 注意,该多项式是关于 $n$ 的多项式,而且,**常数项和系数不能省略**。 数据保证能求出该程序的时间复杂度。

输入格式

输出格式

说明/提示

循环的嵌套最多不超过 $20$ 层。 保证最终时间复杂度多项式每项的系数不超过 ${10}^9$。