题目:http://acm.hdu.edu.cn/showproblem.php?pid=1248
题目挺有意思的。完全背包问题,但是可以不用背包的思想,解三元一次方程。X=150a + 200b +350c +Y
0MS 228K
#include<cstdio>
using namespace std;
int main()
{
int T, num, rem;
scanf("%d", &T);
while(T--)
{
scanf("%d", &num);
rem = num;
for(int i=0; 150*i<=num; ++i)
{
for(int j=0; 150*i+200*j<=num; ++j)
{
for(int k=0; 150*i+200*j+350*k<=num; ++k)
{
rem = rem > num-150*i-200*j-350*k ? num-150*i-200*j-350*k : rem;
if(rem==0)
{
break;
}
}
}
}
printf("%d\n", rem);
}
return 0;
}