直接暴力枚举
AC代码:
1 #pragma comment(linker, "/STACK:1024000000,1024000000") 2 #include<iostream> 3 #include<cstdio> 4 #include<cstring> 5 #include<cmath> 6 #include<math.h> 7 #include<algorithm> 8 #include<queue> 9 #include<set> 10 #include<bitset> 11 #include<map> 12 #include<vector> 13 #include<stdlib.h> 14 using namespace std; 15 #define ll long long 16 #define eps 1e-10 17 #define MOD 1000000007 18 #define N 1000000 19 #define inf 1e12 20 int a,b,c; 21 int main() 22 { 23 int t; 24 scanf("%d",&t); 25 while(t--){ 26 scanf("%d%d%d",&a,&b,&c); 27 if(c&1){ 28 printf("Impossible\n"); 29 continue; 30 } 31 int half = c/2; 32 33 int ans = 10000000; 34 int ans1,ans2; 35 for(int i=0;i<=1001;i++){ 36 for(int j=0;j<=1001;j++){ 37 int cnt = i*a + j*b; 38 if(cnt==half){ 39 if(ans>i+j){ 40 ans=min(ans,i+j); 41 ans1=i,ans2=j; 42 } 43 } 44 } 45 } 46 if(ans==10000000){ 47 printf("Impossible\n"); 48 continue; 49 } 50 printf("%d %d\n",ans1*2,ans2*2); 51 } 52 return 0; 53 }
hdu 5610 Baby Ming and Weight lifting
原文:http://www.cnblogs.com/UniqueColor/p/5199071.html