求助,为什么不对,感觉道理上很对
查看原帖
求助,为什么不对,感觉道理上很对
958616
javaandc楼主2024/10/17 15:12
#include<bits/stdc++.h>
using namespace std;
struct food{
	int s,k;
}a[15];
int sums=1,sumk;
int n,ans=1e9;
int b[15];
int count1;
void dfs(int m)//m表示的是从何处以后得最小值 
{

	if(m==n)
	{
	return; 
    }
	sums*=a[m].s;
	sumk+=a[m].k;
	ans=min(ans,abs(sums-sumk)); 
	dfs(m+1);
	sums/=a[m].s;
	sumk-=a[m].k;	
	ans=min(ans,abs(sums-sumk)); 	
}	
int main()
{
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>a[i].s>>a[i].k;
	}
	dfs(0);
	cout<<ans;
}
2024/10/17 15:12
加载中...