HDU 5610 Baby Ming and Weight lifting

Baby Ming and Weight lifting

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

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.
1<T<1000, 0 < a, b, C <= 1000, a != b

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

题目大意:2种类型的杠铃片(重量分别为a和b),每种杠铃片都有无限个。用这2种杠铃片组成重量为C的杠铃(杠铃必须平衡)。求a, b的数量(若如果有多种答案,输出a+b最小的方案)

思路:大神的方法太屌,982MS过

#include <stdio.h>
int main()
{
        int i, j, t, a, b, c, flag;
        scanf("%d", &t);
        while(t--)
        {
        scanf("%d%d%d", &a, &b, &c);
        if(c&1)
        {
        printf("Impossible\n");
        continue;
        }
        for(c /= 2,flag=0,i=0;!flag&&i<=2000;i++)//a+b的个数
                for(j=0;!flag&&j<=i;j++)//b的个数
                        if((i-j)*a+j*b==c&&(flag=1))
                        printf("%d %d\n", (i-j)<<1, j<<1);
        if(!flag) printf("Impossible\n");
        }
        return 0;
}
时间: 2024-10-10 23:05:15

HDU 5610 Baby Ming and Weight lifting的相关文章

HDU 5610 Baby Ming and Weight lifting(枚举)

Baby Ming and Weight lifting Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 1439    Accepted Submission(s): 525 Problem Description Baby Ming is fond of weight lifting. He has a barbell pole(t

HDU 5610 Baby Ming and Weight lifting 暴力

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

BestCoder Round #69 (div.2) Baby Ming and Weight lifting(hdu 5610)

Baby Ming and Weight lifting Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 681    Accepted Submission(s): 280 Problem Description Baby Ming is fond of weight lifting. He has a barbell pole(the

HDU 5612 Baby Ming and Matrix games

暴力搜索,据说精度卡的紧...但我是double过了的. #include<cstdio> #include<cstring> #include<vector> #include<cmath> #include<queue> #include<list> #include<algorithm> using namespace std; const double eps=1e-8; int dir[4][2],t[4][2]

HDU 5611 Baby Ming and phone number

#include<cstdio> #include<cstring> #include<vector> #include<cmath> #include<queue> #include<list> #include<algorithm> using namespace std; int T,n; char s[20]; long long a,b; int q1[20],q2[20]; long long f() { if

HDU 4349 Xiao Ming&#39;s Hope (Lucas)

题意:给定一个 n,问你在 C(n, 0) - C(n , n) 中有多少个奇数. 析:Lucas定理,C(b[i], a[i]),只要不为0,那么就是奇数,然后b[i],是固定的,也就是说a[i] 只有 b[i]+1种情况.最后乘起来就好. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #include <string> #include <

hdu5612 Baby Ming and Matrix games (dfs加暴力)

Baby Ming and Matrix games Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 849    Accepted Submission(s): 211 Problem Description These few days, Baby Ming is addicted to playing a matrix game.

HDU 4349 Xiao Ming&#39;s Hope 找规律

原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4349 Xiao Ming's Hope Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1723    Accepted Submission(s): 1144 Problem Description Xiao Ming likes coun

HDU 4349 Xiao Ming&#39;s Hope(数学题,Lucas定理)

解题思路: 深入理解lucas定理. Lucas定理:把n写成p进制a[n]a[n-1]a[n-2]...a[0],把m写成p进制b[n]b[n-1]b[n-2]...b[0],则C(n,m)与C(a[n],b[n])*C(a[n-1],b[n-1])*C(a[n-2],b[-2])*....*C(a[0],b[0])模p同余. 这题p为2,所以a[i]和b[i]为0或者1.又因为C(1,0), C(1,1), 即当n等于1时,结果才等于1. 所以写出n的二进制,m从0遍历到n,每一次遍历把m写