记录编号 301057 评测结果 AAAAAAAAAA
题目名称 [NOIP 2009PJ]多项式输出 最终得分 100
用户昵称 Gravatar安呐一条小咸鱼。 是否通过 通过
代码语言 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;
}