2011年10月22日 星期六

126 - The Errant Physicist


本題討論包含 x, y 變數多項式函數的乘法,如下式中:

displaymath50
將上式乘開得到:

displaymath51
本題給定兩個多項式,請你將這兩個多項式相乘後輸出。

Input

輸入資料以兩列為一組,每列不超過80個字元,最後一列以 # 表示測試資料結束。每列有一個多項式,且不會有任何的空白字元與指數符號^,指數值為大於零的整數,係數亦為整數,但可為負值。指數值與係數皆小於等於100,每一項最多有一個 x 一個 y。

Output

請將每組測試資料的二列多項式相乘,並將其解輸出為兩列,第一列包含指數的部份,該列必須對齊第二列。其輸出的規則如下:
  1. 項次的排列必須以 x 的指數由大到小排列,並以 y 的指數由小到大排列。
  2. 指數相同的項必須結合在一起,例如 40x2y3 - 38x2y3 表示為 2x2y3.
  3. 不可輸出係數為零的項。
  4. 除了常數1之外,為1的係數不可輸出。
  5. 為1的指數不可輸出。
  6. 指數為零的部份不可輸出。
  7. 連接前後項次的加減符號前後必須有一個空白字元隔開。
  8. 若第一項的係數為負值,請輸出 '-',且該表示負數的符號前後不能有任何空白字元。
  9. 你可以假定每列輸出長度不會超過80個字元。
  10. 每組輸出資料之間不能有多餘的空行。
  11. 每組輸出的兩列資料長度必須一致,較短的一列必須以空白字元補足長度。

Sample Input

-yx8+9x3-1+y
x5y+1+x3
1
1
#

Sample Output

13 2    11      8      6    5     5 2     3    3
-x  y  - x  y + 8x y + 9x  - x y + x y  + 8x  + x y - 1 + y 

1


原文出處

沒有留言:

張貼留言