题解 P1067 【多项式输出】

撰写此题解,纪念本蒟蒻5次WA+2次CE的大水记录

一道water题啦~~但坑点极多

虽然DALAO可以秒过(所以我不是DALAO)

坑点①:一次项也要特判(因为不输出"^1");

坑点②:常数项判断if(为0) 不输出;

同楼下mou大佬 用光2次测试点下载-_-#

Here is the code:
(不介意抄袭)

#include<iostream>
using namespace std;
int s[101];
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n+1;i++) cin>>s[n-i+1];
    if(!n) {cout<<0<<endl;return 0;}
    if(n==1) {cout<<s[1]<<endl;return 0;}
    if(!s[n]) ;
    else if(s[n]==1) cout<<"x^"<<n;
    else if(s[n]==-1) cout<<"-x^"<<n;
    else cout<<s[n]<<"x^"<<n;
    for(int i=n-1;i>1;i--)
    {
        if(!s[i]) continue;
        else if(s[i]==1) cout<<"+x^"<<i;
        else if(s[i]==-1) cout<<"-x^"<<i;
        else if(s[i]>0) cout<<"+"<<s[i]<<"x^"<<i;
        else cout<<s[i]<<"x^"<<i;
    }
    if(!s[1]) ;
    else if(s[1]==1) cout<<"+x";
    else if(s[1]==-1) cout<<"-x";
    else if(s[1]>0) cout<<"+"<<s[1]<<"x";
    else cout<<s[1]<<"x";
    if(!s[0]) ;
    else if(s[0]>0) cout<<"+"<<s[0]<<endl;
    else cout<<s[0]<<endl;
    return 0;
}

end.

全部评论

相关推荐

10-21 23:48
蚌埠坦克学院
csgq:可能没hc了 昨天一面完秒挂
点赞 评论 收藏
分享
霁华Tel:秋招结束了,好累。我自编了一篇对话,语言别人看不懂,我觉得有某种力量在控制我的身体,我明明觉得有些东西就在眼前,但身边的人却说啥也没有,有神秘人通过电视,手机等在暗暗的给我发信号,我有时候会突然觉得身体的某一部分不属于我了。面对不同的人或场合,我表现出不一样的自己,以至于都不知道自己到底是什么样子的人。我觉得我已经做的很好,不需要其他人的建议和批评,我有些时候难以控制的兴奋,但是呼吸都让人开心。
点赞 评论 收藏
分享
11-29 11:21
门头沟学院 Java
点赞 评论 收藏
分享
评论
10
收藏
分享
牛客网
牛客企业服务