noip 2009 多项式输出

#include <iostream>
#include <bits/stdc++.h>
#include <stdio.h>

using namespace std;

long long int fbb(long long int a)
{
	if(a>0)
	{
		return a;
	}
	else
	{
		return -a;
	}
}

int main()
{
    long long int n,i,j,nn;
    scanf("%lld",&n);
    long long int xishu[n+1];
    for(i=0;i<n+1;i++)
    {
        scanf("%lld",&xishu[i]);
    }
    nn=n;
    for(i=0;i<n+1;i++)
    {
        if(xishu[i]==0)
        {
            if(i==0)
            {
                printf("0");
            }
            nn--;
            continue;
        }
        if(i>0 && xishu[i]>0)
        {
            printf("+");
        }
		if(i>=0 && xishu[i]<0)
		{
			printf("-");
		}
		if(fbb(xishu[i])>1 && nn>1)
		{
			printf("%lldx^%lld",fbb(xishu[i]),nn);
		}
		if(fbb(xishu[i])==1 && nn>1)
		{
			printf("x^%lld",nn);
		}
		if(fbb(xishu[i])>1 && nn==1)
		{
			printf("%lldx",fbb(xishu[i]));
		}
        if(fbb(xishu[i])==1 && nn==1)
		{
			printf("x");
		}
		if(fbb(xishu[i])>=1 && nn==0)
		{
			printf("%lld",fbb(xishu[i]));
		}
        nn--;
    }

    return 0;
}
样例一过不了,求解
全部评论

相关推荐

头像
08-28 09:05
门头沟学院
投递美团等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务