YZOJ P3629 [校内训练20180406]表达式

YZOJ P3629 [校内训练20180406]表达式

时间限制:1000MS      内存限制:131072KB

出题人:zzx         难度:\(6.5\)

  • 题目描述

本题中,我们需要计算一些“Bomb表达式”的结果。比如, “1-2+3” 的结果为 2 。和普通表达式不同的是,Bomb表达式中可能包含一些 “#” 号,会展开一些普通表达式。比如 “(1-2+3)#(3)” 表示 “1-2+3 ”出现了 3 次,将会被展开为 “1-2+31-2+31-2+3”,其结果为 60 。

为了方便理解,下面给出了Bomb表达式(bomb expression)和普通表达式(normal expression)的BNF表示。

请先将Bomb表达式中所有的 # 号展开,使其成为普通表达式(题目的输入保证展开后是一个合法的普通表达式),然后计算这个表达式的结果。

  • 输入格式

第一行一个正整数 \(T\),表示输入数据组数。

接下来 \(T\) 行,每行一个字符串,为待计算的Bomb表达式。

  • 输出格式

对于每组数据输出一行一个整数,表示表达式的结果,答案对 \(1,000,000,007\) 取模。

  • 样例输入

  • 样例输出

  • 数据规模与约定

对于 \(100\%\) 的数据,\(1 \leq T \leq 50\),输入表达式的总长度不超过 \(300,000\),<bomb term> 中的 <number> 不超过 \(10^{18}\) 。

 

 

 


 

 

 

神仙题目

 

 

 

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注