题解 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.
查看22道真题和解析
韶音科技公司氛围 647人发布