记录编号 |
301057 |
评测结果 |
AAAAAAAAAA |
题目名称 |
[NOIP 2009PJ]多项式输出 |
最终得分 |
100 |
用户昵称 |
安呐一条小咸鱼。 |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.012 s |
提交时间 |
2016-08-30 09:41:33 |
内存使用 |
0.31 MiB |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
#include<stack>
#include<algorithm>
using namespace std;
int a[150];
bool judge[150];
int abs(int x)
{
if(x>0)return x;
else return -x;
}
int main()
{
freopen("poly.in","r",stdin);freopen("poly.out","w",stdout);
int n,t=0;
cin>>n;
for(int i=n;i>=0;i--)
{
cin>>a[i];
if(a[i]!=0){judge[i]=1;if(t==0)t=i;}
}
for(int i=n;i>=0;i--)
{
if(a[i]==0)
{
continue;
}
if(i==t)
{
if(abs(a[i])!=1)cout<<a[i]<<"x^"<<i;
else {
if(a[i]==-1)cout<<"-x^"<<i;
if(a[i]==1)cout<<"x^"<<i;
}
}
else if(i==0){
if(a[i]<0)cout<<a[i]<<endl;
else cout<<"+"<<a[i]<<endl;
}
else
{
if(i==1)
{
if(abs(a[i])!=1)
{
if(a[i]<0)cout<<a[i]<<"x";
if(a[i]>0)cout<<"+"<<a[i]<<"x";
}
else
{
if(a[i]==1)cout<<"+x";
if(a[i]==-1)cout<<"-x";
}
}
else
{
if(abs(a[i])!=1)
{
if(a[i]<0)cout<<a[i]<<"x^"<<i;
if(a[i]>0)cout<<"+"<<a[i]<<"x^"<<i;
}
else
{
if(a[i]==1)cout<<"+x^"<<i;
if(a[i]==-1)cout<<"-x^"<<i;
}
}
}
}
// while(1);
return 0;
}