タイトル説明
この時間は、あなたはAとB、2つの多項式であるA + Bを見つけることになっています
入力形式
各入力ファイルには、1つのテストケースが含まれています。各ケースには2行を占め、各ラインは、多項式の情報が含まれている:K N1 N1 N2 N2 ... NK NK K多項式、Niとの非ゼロ項の数であり、Niの(iは1 = 、2、...、K)は、それぞれ、指数および係数です。それは、その与えられ1≤K≤10,0≤N K <... <N 2 < N 1 ≤1000
出力フォーマット
各テストケースのためには、入力と同じ形式の1つのラインの出力AとBの合計を、すべきです。各行の末尾に余分なスペースがなければならないことに注意してください。
小数第1位まで正確でください。
サンプル入力
2 1 2.4 0 3.2
2 2 1.5 1 0.5
サンプル出力
3 2 1.5 1 2.9 0 3.2
問題の意味
- 二列が与えられると、各行は、多項式を表し、最初の数は非ゼロエントリの多項式係数、それぞれが1つ後の2桁で表されるエントリの数を示し、二つの数は、係数のパワーを表します。決定及び2つの多項式、以前と同じフォーマットに同じ結果を出力
サンプルの解釈
- 図2は、最初に 2つの多項式の係数が非ゼロのエントリを持っていることを意味し、1つのアイテム2.4は係数F1(X)= 2.4である係数3.2 2.4,0に(すなわち、定数項)はゼロという用語は、3.2である、で表される表しX + 3.2
- 同様に2行目の多項式表現F2(X)= 1.5倍のように書くことができる2 + 0.5×
- (X)= 1.5倍の次に、フロリダ(X)+ F2 2 + 2.9x + 3.2
#include <ビット/ STDC ++ H> のconst int型 max_n = 1111 。 ダブル P [max_n] = {}; INTメイン(int型 ARGC、CHAR * ARGV []){ int型 K、N、カウント= 0 ; 倍増。 scanf関数(" %のD "、&K)。 以下のために(INT iが= 0 ; I <K; I ++ ){ scanf関数(" %D%1F "、&N、& )。 P [N] + = 。 } scanf関数("%のD "、&K)。 以下のために(INT iが= 0 ; I <K; I ++ ){ scanf関数(" %D%1F "、&N、& )。 P [N] + = 。 } ため(INT iは= 0 ; I <max_nを、I ++ ){ 場合(P [I] =!0 ){ カウント ++ 。 } } のprintf(" %d個" 、カウント); 以下のための(int型私はmax_nを= - 1; I> = 0 ; i-- ){ もし!(P [I] = 0 ){ のprintf(" %D%.1f " 、I、P [I])。 } } 戻り 0 。 }