#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
int main() {
int T, n, k, a, b;
cin >> T;
while (T--) {
cin >> n >> k;
vector<int> A(45, 0);
vector<int> B(45, 0);
vector<int> c1(45, 0);
vector<int> c2(45, 0);
for (int i = 0; i < k; i++)
cin >> A[i] >> B[i];
c1[0] = 1;
for (int i = 0; i < k; i++) {
for (int j = 0; j <= n; j++) {
for (int h = 0; h <= A[i] * B[i] && j + h <= n; h += A[i])
c2[j + h] += c1[j];
}
for (int j = 0; j <= n; j++) {
c1[j] = c2[j];
c2[j] = 0;
}
}
cout << c1[n] << endl;
}
return 0;
}
杭电OJ 2079 选课时间 C++
于 2024-03-15 14:49:14 首次发布