#P1555. Polynomial Showdown

Polynomial Showdown

题目描述

给定一个8次多项式从最高次项到常数项的系数,你需要将该多项式格式化为易读的形式,并去除不必要的字符。例如,给定系数0、0、0、1、22、-333、0、1和-1,应生成输出行&x^5 + 22x^4 - 333x^3 + x - 1&。

格式化规则如下:

  1. 项的顺序:按次数从高到低排列。
  2. 指数符号:指数应使用脱字符&^&表示(如x2x^2)。
  3. 常数项:仅显示常数本身(如最后一项-1)。
  4. 非零系数:仅显示系数非零的项,但若所有系数均为0,则显示常数项0。
  5. 空格规则:二元运算符&+&和&-&两侧各有一个空格。
  6. 首项符号:首项系数为正时省略符号,为负时直接以负号开头(如7x2-7x^2)。
  7. 负项处理:负项应表示为减去正项(如x23xx^2 - 3x而非x2+3xx^2 + -3x)。
  8. 系数1的省略:系数为1或-1时(非常数项),省略系数本身(如x3-x^3而非1x3-1x^3)。

输入格式

输入包含一行或多行系数,每行由9个整数组成,用一个或多个空格分隔。每个系数的绝对值小于1000,对应多项式从8次到0次的系数。

输出格式

对每行输入,输出格式化后的多项式,每个多项式占一行。

输入示例1

0 0 0 1 22 -333 0 1 -1  
0 0 0 0 0 0 -55 5 0  

输出示例1

x^5 + 22x^4 - 333x^3 + x - 1  
-55x^2 + 5x  

来源

Mid-Central USA 1996