#P7053. [NWRRC 2015] Fygon
[NWRRC 2015] Fygon
Description
[NWRRC2015] Fygon 翻译
弗雷德里克是一名年轻的程序员。他参加了所有能找到的编程比赛,并总是使用他最喜欢的编程语言 Fygon。不幸的是,他经常收到 "超过时间限制 "的结果,即使他的算法是渐近最优的。这是因为 Fygon 解释器非常慢。尽管如此,弗雷德里克还是非常喜欢 Fygon,所以他使用了非渐进优化的方法来使求解符合时间限制。为了方便起见,他要求你写一个程序,能够估算出他的 Fygon 程序所做的确切操作次数。
为了简单起见,我们假设 Fygon 只有两条语句。第一条语句是滞后的。它几乎可以替代任何其他语句。第二条语句是 for 循环:
for in range
这意味着遍历从 到 的值。 在 Fygon 中是从 到 的小写字母,并且要么是已经定义的,要么是正整数常数。循环语句缩进四个空格,至少包含一条语句。
程序接收变量 的输入。该变量具有特殊含义,不能用作循环变量。您的任务是根据变量 的值,找出计算 Fygon 程序执行滞后操作次数的公式。
Input Format
输入文件包含 Fygon 程序。没有两个循环使用相同的变量作为迭代器。范围内使用的每个变量要么是 ,要么是在某个外循环中声明的。
程序最多有 语句,其中最多有 是循环。所有整数常量从 到 不等。
Output Format
根据 输出已执行滞后运算次数的公式。公式长度最多为 字符(不包括空格)。公式应符合以下语法:
$〈数〉 ::= [‘0' \cdots ‘9'] ^{+} (‘/' [‘0' \cdots ‘9'] ^{+}) ^{?}$
样例 #1
样例输入 #1
for i in range(n):
for j in range(i):
lag
for x in range(5):
for y in range(n):
for z in range(n):
lag
lag
样例输出 #1
1/2 * n * (n-1) + 5 * (n*n + 1)
for i in range(n):
for j in range(i):
lag
for x in range(5):
for y in range(n):
for z in range(n):
lag
lag
1/2 * n * (n-1) + 5 * (n*n + 1)
Hint
时间限制:2 秒,内存限制:256 MB。
京公网安备 11011102002149号