【6.18校內test】T1多項式輸出

平常題前廢話:ios

首先so amazing 的一件事,由於在洛谷上立下了的flag,而後此次考試前兩道題都是剛剛作過不久的題emmm(至關於白送200嗎qwq,可是這阻擋不了我第三題不會的腳步qwq)c++

好了來看題:ide

由於luogu上有題就不放原題了,直接放連接吧:多項式輸出【題目連接】spa


作到這道題是在洛谷普及練習場的第一個板塊:3d

 

所以很顯然,這就是一道模擬題;code

這道模擬雖然看起來好作,可是有不少不少的小細節須要處理,因此想獲得滿分也並不是那麼容易,幸運就幸運在我以前剛剛作了這道題,因此好多小細節就都瞭解到了qwqblog

 而後感受考試時的代碼不如交luogu的簡單呢,考試處理的亂七八糟的又。ci

感受大模擬沒有什麼好講的qwq,就直接貼代碼吧:get

#include<bits/stdc++.h>

using namespace std;

int n,c;

int main(){
    scanf("%d",&n);
    if(n==0){
        cin>>c;
        cout<<c;
        return 0;
    }
    for(int i=n;i>=0;i--){
        cin>>c;
        if(c==0) continue;
        if((i!=n)&&(c>0)) cout<<"+";
        if(c==1||c==-1){
            if(c==-1&&i!=0) cout<<"-"; 
            if(i==0) cout<<c;
        }
        else cout<<c;
        if(i==1) {
            cout<<"x";
            continue;
        }
        if(i==0) break;
        cout<<"x^";
        cout<<i;
    }
}
luogu CODE
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>

using namespace std;

int n,g,z,first;
int a;
bool c;

int main(){
    freopen("poly.in","r",stdin);
    freopen("poly.out","w",stdout);
    scanf("%d",&n);
    if(n==1){
        cin>>g>>z;
        if(g==0&&z==0) cout<<"0";
        if(g!=0){
            if(g==1||g==-1){
                if(g==1) cout<<"x";
                else cout<<"-x";
            } 
            else cout<<g<<"x";
        }
        if(z!=0) {
            if(z>0) cout<<"+"<<z;
            else cout<<z;
        }
        return 0;
    }
    for(int i=n;i>=0;i--){
        cin>>a;
        if(a){
            if(a>0){
                if(a==1&&i!=n&&i!=1&&i!=0){
                    if(c==1)
                    cout<<"+"<<"x^"<<i;
                    else cout<<"x^"<<i;
                }
                if(a!=1&&i!=n&&i!=1&&i!=0) {
                    if(c==1) cout<<"+"<<a<<"x^"<<i;
                    else cout<<a<<"x^"<<i;
                }
                if(i==n) {
                    if(a==1)cout<<"x^"<<n;
                    else cout<<a<<"x^"<<n;
                }
                if(i==1) {
                    if(c==1){
                        if(a==1)  cout<<"+"<<"x";
                        else  cout<<"+"<<a<<"x";
                    }
                    else{
                        if(a==1)  cout<<"x";
                        else cout<<a<<"x";
                    }
                }
                if(i==0){
                    if(c==1) cout<<"+"<<a;
                    else cout<<a;
                }
            }
            if(a<0){
                if(a==-1&&i!=n&&i!=1&&i!=0) cout<<"-x^"<<i;
                if(a!=-1&&i!=n&&i!=1&&i!=0) cout<<a<<"x^"<<i;
                if(i==n){
                        if(a==-1)cout<<"-x^"<<n;
                    else cout<<a<<"x^"<<n;
                } 
                if(i==1) {
                    if(a==-1) cout<<"-x";
                    else cout<<a<<"x";
                }
                if(i==0) cout<<a;
            }
        }
        if(a) c=1;
    }
    if(c==0) cout<<0;
    return 0;
} 
TEST CODE

end-string

相關文章
相關標籤/搜索