HDU 5095

题意 把

f(x,y,z) = ax^2 + by^2 + cy^2 + dxy + eyz + fzx + gx + hy + iz + j

变成g(p,q,r,u,v,w,x,y,z) = ap + bq + cr + du + ev + fw + gx + hy + iz + j

#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<math.h>
#include<set>
#include<string>

using namespace std;

int numb[15];

int main()
{
    int t;
    scanf("%d",&t);
    while(t--)
    {
        for(int i=0;i<10;i++)
            scanf("%d",&numb[i]);
        int j=0;
        while(numb[j]==0&&j<10)
            j++;
        if(j<=2)
        {
            if(numb[j]<0)
            {
                printf("-");
                numb[j]*=-1;
            }
            if(numb[j]==1)
                printf("%c",'p'+j);
            else
                printf("%d%c",numb[j],'p'+j);
        }
        else if(j<9)
        {
             if(numb[j]<0)
             {
                printf("-");
                numb[j]*=-1;
             }
            if(numb[j]==1)
                printf("%c",'r'+j);
            else
                printf("%d%c",numb[j],'r'+j);
        }
        else
            printf("%d",numb[j]);
        j++;
        for(;j<10;j++)
            if(numb[j]!=0)
            {
                if(j<=2)
                {
                    if(numb[j]<0)
                    {
                        printf("-");
                        numb[j]*=-1;
                    }
                    else
                        printf("+");
                    if(numb[j]==1)
                        printf("%c",'p'+j);
                    else
                        printf("%d%c",numb[j],'p'+j);

                }
                else if(j<9)
                {
                   if(numb[j]<0)
                    {
                        printf("-");
                        numb[j]*=-1;
                    }
                    else
                        printf("+");
                    if(numb[j]==1)
                        printf("%c",'r'+j);
                    else
                        printf("%d%c",numb[j],'r'+j);
                }
                else
                {
                    if(numb[j]<0)
                        printf("%d",numb[j]);
                    else
                        printf("+%d",numb[j]);
                }
            }
        printf("
");
    }
    return 0;
}

真的麻烦

坑点   第一个数之前  不用+

    系数是1  -1    

原文地址:https://www.cnblogs.com/cherryMJY/p/6411385.html