样例有问题,求助
查看原帖
样例有问题,求助
1024884
Sean1221楼主2024/8/1 15:50
#include<bits/stdc++.h>
using namespace std;
int n,s[15],b[15],a[15],ans=INT_MAX;
void dfs(int pos,int sum,int pro)
{
	if (pos==n+1)
	{
		if (sum!=0)
		{
			ans=min(ans,abs(sum-pro));
		}
		return;
	}
	for (int i=0;i<=1;i++)
	{
		a[pos]=i;
		if (i==1)
		{
			dfs(pos+1,sum+b[i],pro*s[i]);
		}
		else
		{
			dfs(pos+1,sum,pro);
		}
	}
}
int main()
{
	cin>>n;
	for (int i=1;i<=n;i++)
	{
		cin>>s[i]>>b[i];
	}
	dfs(1,0,1);
	cout<<ans;
	return 0;
}
2024/8/1 15:50
加载中...