• hdu 5616


    Baby Ming and Weight lifting

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
    Total Submission(s): 178    Accepted Submission(s): 77


    Problem Description
    Baby Ming is fond of weight lifting. He has a barbell pole(the weight of which can be ignored) and two different kinds of barbell disks(the weight of which are respectively a and b ), the amount of each one being infinite.

    Baby Ming prepare to use this two kinds of barbell disks to make up a new one weighted C (the barbell must be balanced), he want to know how to do it.

     
    Input
    In the first line contains a single positive integer T , indicating number of test case.

    For each test case:

    There are three positive integer a,b , and C .

    1T1000,0<a,b,C1000,ab
     
    Output
    For each test case, if the barbell weighted C can’t be made up, print Impossible.

    Otherwise, print two numbers to indicating the numbers of a and b barbell disks are needed. (If there are more than one answer, print the answer with minimum a+b )
     
    Sample Input
    2
    1 2 6
    1 4 5
     
    Sample Output
    2 2
    Impossible
     
    Source
     
    题意 :t组数据 每组a b c
     两种杠盘 a,b
     目标质量 c
     
    杠铃是成双出现的,然后只要枚举就可以了  注意优化
     
    #include<iostream>
    #include<cstdio>
    #define LL __int64
    using namespace std;
    int t;
    int a,b,c;
    int flag;
    int tt,ansa,ansb;
    int main()
    {
        while(scanf("%d",&tt)!=EOF)
        {
            for(int i=1; i<=tt; i++)
            {
                flag=0;
                scanf("%d%d%d",&a,&b,&c);
                if(c%2)
                    printf("Impossible
    ");
                else
                {
                    if(a<b)
                    {
                        t=a;
                        a=b;
                        b=t;
                        flag=1;
                    }
                    int gg=0;
                    for(int j=0; j<=c/2/a; j++)
                        for(int k=0; k<=c/2/b; k++)
                        {
                            if(j*a+k*b==c/2)
                            {
                                ansa=j;
                                ansb=k;
                                gg=1;
                                break;
                            }
                        }
                    if(gg==0)
                        printf("Impossible
    ");
                    else
                    {
                        if(flag)
                            printf("%d %d
    ",2*ansb,2*ansa);
                        else
                            printf("%d %d
    ",2*ansa,2*ansb);
                    }
    
                }
    
    
            }
        }
    
        return 0;
    }
    

      

  • 相关阅读:
    Ubuntu 14.04 FTP服务器--vsftpd的安装和配置
    Python IDE专用编辑器PyCharm下载及配置安装过程(Ubuntu环境)
    Ubuntu Server14.04 32位安装odoo8.0简单方法
    js打印出对象的方法
    odoo中pos模块由于删除partner导致发生(你试图访问的单据已经删除)错误的解决方法
    django的安装和搭建
    mongodb入门
    js数组的操作
    mongodb的优缺点
    Spring动态切换多数据源解决方案
  • 原文地址:https://www.cnblogs.com/hsd-/p/5154333.html
Copyright © 2020-2023  润新知