• 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    

  • 相关阅读:
    零基础学习Java Web开发(一)
    域名的定义
    MyEclipse使用(一)
    VB与C#语言部分不用的地方Part1
    使用XmlWriter创建XML文件
    Spring源码
    Websocket原理
    阿里云
    CSS中position属性( absolute | relative | static | fixed )详解
    C#UDP广域网,局域网通信-原理分析
  • 原文地址:https://www.cnblogs.com/cherryMJY/p/6411385.html
Copyright © 2020-2023  润新知