zoukankan      html  css  js  c++  java
  • 【6.18校内test】T1多项式输出

    日常题前废话:

    首先so amazing 的一件事,因为在洛谷上立下了的flag,然后这次考试前两道题都是刚刚做过不久的题emmm(相当于白送200吗qwq,但是这阻挡不了我第三题不会的脚步qwq)

    好了来看题:

    因为luogu上有题就不放原题了,直接放链接吧:多项式输出【题目链接】


    做到这道题是在洛谷普及练习场的第一个板块:

    因此很显然,这就是一道模拟题;

    这道模拟虽然看起来好做,但是有很多很多的小细节需要处理,所以想得到满分也并非那么容易,幸运就幸运在我之前刚刚做了这道题,所以好多小细节就都了解到了qwq

     然后感觉考试时的代码不如交luogu的简单呢,考试处理的乱七八糟的又。

    感觉大模拟没有什么好讲的qwq,就直接贴代码吧:

    #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-

  • 相关阅读:
    架构与模式11
    Unix/Linux命令
    Winform的Excel表格
    B/S结构一机多屏实现
    Effective C++函数参数传递方式
    Django & Tornado
    ThoughtWorks读书路线图
    善用泛型 委托
    SQL 关于with cube ,with rollup 和 grouping
    测试工程师实习笔试题
  • 原文地址:https://www.cnblogs.com/zhuier-xquan/p/11046953.html
Copyright © 2011-2022 走看看