#HK5194. 「PA 2016」Jedynki

「PA 2016」Jedynki

题目描述

题目译自 PA 2016 Runda 2 Jedynki

在本任务中,我们考虑一元表达式,即只包含数字 11 的表达式,唯一允许的操作是加法和乘法。在这些表达式中,不允许出现两个(或更多)相邻的 11——每两个 11 之间必须有操作符分隔。表达式中可以使用括号,操作的执行顺序遵循常规规则(乘法优先级高于加法)。

例如,以下每个一元表达式的值均为 66

$$\texttt{(1+1)*(1+1+1)}, \quad \texttt{(1+1+1)*(1+1)*1}, \quad \texttt{((1+1)+1)*(1+1)}, \quad \texttt{1+1+1+1+1+1}, \quad \texttt{1+(1+(1+(1+(1+1))))}. $$

请编写一个程序,对于给定的正整数 kk (k109)(k \leq 10^{9}),输出一个包含最多 10010011 的一元表达式,其值为 kk

一元表达式的正式定义如下:

  • 11 是一个有效表达式;
  • 如果 W1W_{1}W2W_{2} 是有效表达式,则以下表达式也是有效的:W1+W2W_{1}\texttt{+}W_{2}W1*W2W_{1}\texttt{*}W_{2}(W1+W2)\texttt{(}W_{1}\texttt{+}W_{2}\texttt{)}(W1*W2)\texttt{(}W_{1}\texttt{*}W_{2}\texttt{)}

输入格式

输入数据的第一行包含一个整数 tt (1t100)(1 \leq t \leq 100),表示测试用例数量。

接下来的 tt 行描述测试用例。第 ii 行包含一个整数 kik_{i} (1ki109)(1 \leq k_{i} \leq 10^{9})

输出格式

输出 tt 行。如果不存在包含最多 10010011 的一元表达式,其值为 kik_{i},则在第 ii 行输出 NIE。否则,在第 ii 行输出任意一个这样的表达式。表达式描述中不应包含任何空格。

2
6
10

(1+1)*(1+1+1)
1+1+1+1+1+1+1+1+1+1