记录编号 |
381084 |
评测结果 |
AAAAAAAAAA |
题目名称 |
[NOIP 2009PJ]多项式输出 |
最终得分 |
100 |
用户昵称 |
fate1 |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.003 s |
提交时间 |
2017-03-10 20:24:43 |
内存使用 |
0.31 MiB |
显示代码纯文本
#include<iostream>
#include<cstdio>
int f[101]={0};
using namespace std;
int main ()
{
freopen("poly.in","r",stdin);
freopen("poly.out","w",stdout);
int a,l=0,ans=0;
cin>>a;
for(int i=a;i>=0;i--)
{
int k;
cin>>k;
f[i]+=k;
}
for(int i=a;i>=2;i--)
{
if(f[i]!=0)
{
l=i;
ans++;
if(f[l]==1)
{
cout<<"x^"<<i;
}
if(f[l]==-1)
{
cout<<"-"<<"x^"<<i;
}
if(f[l]!=1&&f[l]!=-1)
{
cout<<f[l]<<"x^"<<i;
}
break;
}
}
if(ans>0)
{
for(int i=l-1;i>=2;i--)
{
if(f[i]>1)
cout<<"+"<<f[i]<<"x^"<<i;
if(f[i]==1)
cout<<"+"<<"x^"<<i;
if(f[i]<-1)
cout<<f[i]<<"x^"<<i;
if(f[i]==-1)
cout<<"-"<<"x^"<<i;
}
if(f[1]>1)
cout<<"+"<<f[1]<<"x";
if(f[1]<-1)
cout<<f[1]<<"x";
if(f[1]==1)
cout<<"+"<<"x";
if(f[1]==-1)
cout<<"-"<<"x";
if(f[0]>0)
cout<<"+"<<f[0];
if(f[0]<0)
cout<<f[0];
}
if(ans==0)
{
if(f[1]>1)
cout<<"+"<<f[1]<<"x";
if(f[1]<-1)
cout<<f[1]<<"x";
if(f[1]==-1)
cout<<"-"<<"x";
if(f[1]==1)
cout<<"+"<<"x";
if(f[0]>0)
cout<<"+"<<f[0];
if(f[0]<0)
cout<<f[0];
}
}