[Luogu /出力列多項式(一緒に処理されたすべてのケース)

問題の説明:

タイトル説明

以下に使用可能な一つの元nnnの順序多項式手段:

F(X)= anxn +-の1xN-1 +⋯+ A1X + A0、≠0F(X)= a_nx ^ N + A_ {N-1} X ^ {N-1} + \ cdots + a_1x + A_0 、NE 0 F(X)\ A_N = XN +-1 XN-1 +⋯+ A1 X + A0、≠0

ここで、aixia_ix ^ IAI xiが、それは係数III次項呼ばaia_iai III次の項を参照さ。単変量多項式乗算器の数は、次の形式で指定された多項式の必要な出力が得られます。

  1. 多項式の引数は周波数の高い順に左から右にX XX、多項式与えられます。

  2. 多項式は、係数がないだけで000エントリが含まれています。

  3. 「 - 」冒頭記号NNN回多項式の係数が正であれば、それは多項式「+」記号、NNN回多項式の係数が負の場合、多項式Aの先頭に表示されません。

「 - 」、「+」またはしない最高次の項のそれぞれについて、前の項目とのこの接続を署名、この係数は、正または負の係数です。この係数の絶対値を表す正の整数が続く(以上000倍、用語場合、係数の絶対値は、111である出力111は不要です)。XXX XX X BB bが指数である場合、インデックスは、直ちに次の「xbx ^ BXB」に、指数部分111よりも大きい場合、XXX指数は111であった場合、フォームの次のインデックス部分直ちに「XXX」を、XXXインデックスが000である場合にのみ出力係数とすることができます。

余分なスペースのない多項式、多項式始まり、終わり、。

入力形式

222ライン入力の合計

第一行111の整数、NNN、単変量多項式表現の数。

第二行は有するN個の第1整数N-IIIを表す各2つの区画整数との間の空間を持つ+ 1 N-1N-I + 1次項係数+、+ + 1、N + 1つの整数1N、オープン。

出力フォーマット

出力コモン線111、トピック別多項式の出力フォーマット。

サンプル入力と出力

入力#1

5 
100 -1 1 -3 0 10

出力#1

100X ^ 5-X ^ 4 + X ^ 3-3x ^ 2 + 10

入力#2

3 
-50 0 0 1

出力#2

-50x ^ 3 + 1 

説明/ヒント

NOIP 2009最初の質問の全体集合

データの100%まで、0≤n≤1000\ルN \ル1000≤n≤100、-100≤-100 \ル-100≤係数≤100\ル100≤100

基本的な考え方:

バラエティ他にあれば。しかし、私はあまりにもナイーブでした。

問題の解決策を見て、大規模な神がいるすべてのケースで一緒に考慮されます

様々な文字の結果のシーケンスの各々の出力は、もし設定手順、次いで印刷されます。

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,a;
    cin>>n;
    for(int i=n;i>=0;i--){
        cin>>a;
        if(a){  //  判0系数
            if(i!=n&&a>0)cout<<"+";    // 根据正负、是否为最高此项决定加号
            if(abs(a)>1||i==0)cout<<a;   // 输出系数(系数不为正负1或指数为0)
            if(a==-1&&i)cout<<"-";    // -1系数特判,常数项已特判
            if(i>1)cout<<"x^"<<i;    // 二次及以上输出指数
            if(i==1)cout<<"x";    // 一次项
        }
    }
}

 

公開された137元の記事 ウォン称賛19 ビュー10000 +

おすすめ

転載: blog.csdn.net/qq_43338695/article/details/102879865