hdu 5610 /BC 69A Baby Ming and Weight lifting

来源:互联网 发布:网络销售客户不说话 编辑:程序博客网 时间:2024/05/20 18:47

首先如果c不能整除2 则无法满足要求

然后把c分成两部分 看哑铃单侧重量c/2的情况

暴力枚举a、b中较大者的个数即可 看剩余需求重量能否整除较小数 


#include<iostream>#include<cstdio>#include<cstring>#include<cctype>#include<cmath>#include<vector>#include<queue>#include<map>#include<algorithm>#include<set>#define scnaf scanf#define cahr char#define bug puts("bugbugbug");using namespace std;typedef long long ll;const int mod=1000000007;const int maxn=50+5;const int inf=1e9;const int maxe=200000;int main(){    int T_T,a,b,c;    scanf("%d",&T_T);    while(T_T--){        scanf("%d%d%d",&a,&b,&c);        if(c%2){            puts("Impossible");            continue;        }        c/=2;        int ans=inf,flag=0;        if(a>b) {            swap(a,b);            flag=1;        }        for(int i=c/b;i>=0;i--)            if((c-i*b)%a==0){                ans=i;                break;            }        if(ans==inf)            puts("Impossible");        else{            if(!flag)                printf("%d %d\n",2*(c-ans*b)/a,2*ans);            else                printf("%d %d\n",2*ans,2*(c-ans*b)/a);        }    }    return 0;}


0 0