//============================================================================
// Name : 1384.cpp
// Author :
// Version :
// Copyright : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================
#include <iostream>
using namespace std;
#define MAX_N 500
#define MAX_W 10000
int ff[MAX_W];
int p[MAX_N];
int w[MAX_N];
int main() {
ios::sync_with_stdio(false);
int t;
cin >> t;
while (t--) {
int e, f, n;
cin >> e >> f >> n;
int weight = f - e;
for (int i = 0; i < n; i++) {
cin >> p[i] >> w[i];
}
for (int i = 0; i <= weight; i++) {
if (i % w[0] == 0) {
ff[i] = i / w[0] * p[0];
} else {
ff[i] = 1 << 30;
}
}
for (int i = 1; i < n; i++) {
for (int j = w[i]; j <= weight; j++) {
ff[j] = min(ff[j], ff[j - w[i]] + p[i]);
}
}
if (ff[weight] != (1 << 30)) {
cout << "The minimum amount of money in the piggy-bank is "
<< ff[weight] << "." << endl;
} else {
cout << "This is impossible." << endl;
}
}
return 0;
}
poj1384
最新推荐文章于 2019-07-19 16:01:00 发布