标签:
2 1 2 6 1 4 5
2 2 Impossible
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; int main() { int t,m,n,i,j,k,l,sum,minn,maxx,num,flag,a,ans1,ans2; scanf("%d",&t); while(t--) { scanf("%d%d%d",&m,&n,&sum); if(sum%2) { printf("Impossible\n"); continue; } else { minn=min(n,m); maxx=max(n,m); } if(maxx*2>sum)//不能用大的 { if(sum%minn) printf("Impossible\n"); else { if(sum/minn%2) printf("Impossible\n"); else { num=sum/minn; if(minn==m) printf("%d 0\n",num); else printf("0 %d\n",num); } } } else { flag=0; l=sum/maxx; for(i=l;i>=0;i--) { if(flag) break; if((sum-i*maxx)%minn==0) { if(flag) break; a=(sum-i*maxx)/minn; for(j=i;j>=0;j--) { if(flag) break; for(k=0;k<=a;k++) { if(k*minn+j*maxx==sum/2)//如果能构成一半就可以,比较机智的一个地方 { ans1=i; ans2=a; flag=1; } } } } } if(flag==0) printf("Impossible\n"); if(flag==1) { if(minn==m) printf("%d %d\n",ans2,ans1); else printf("%d %d\n",ans1,ans2); } } } return 0; }
HDU 5610 Baby Ming and Weight lifting(枚举)
标签:
原文地址:http://blog.csdn.net/yao1373446012/article/details/51273399