题目链接
我的代码
#include <iostream>
using namespace std;
const int N = 30;
struct Food {
int a;
int b;
} foods[N];
bool st[N];
int n;
int res = 0x3f3f3f3f;
void dfs(int u, int a, int b)
{
if (u == n + 1)
{
if (b == 0)
{
return;
}
res = min(res, abs(a - b));
return;
}
dfs(u + 1, a, b);
dfs(u + 1, a * foods[u].a, b + foods[u].b);
}
int main()
{
cin >> n;
for (int i = 1; i <= n; i ++ )
{
cin >> foods[i].a >> foods[i].b;
}
dfs(1, 1, 0);
cout << res << endl;
return 0;
}
谢谢Thanks♪(・ω・)ノ