首页 > 其他 > 详细

HDU 5095

时间:2017-02-17 21:22:58      阅读:197      评论:0      收藏:0      [点我收藏+]

题意 把

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("\n");
    }
    return 0;
}

真的麻烦

坑点   第一个数之前  不用+

    系数是1  -1    

HDU 5095

原文:http://www.cnblogs.com/cherryMJY/p/6411385.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!