P2036 递归算法#6 #7错误
查看原帖
P2036 递归算法#6 #7错误
1065928
XiaoYuyu楼主2023/11/3 14:58
#include<iostream>
#include<algorithm>
#include<string>
#include<cmath>
#include<iomanip>
using namespace std;
struct spices
{
	int acid;
	int bitter;
}spice[15];

int n,dvalue=1000;
int totalacid=1, totalbitter=0;

void f(int flag, int num,int totalacid,int totalbitter)
{
	if (num == 0)
	{
		if (abs(totalacid - totalbitter) < dvalue)
		{
			dvalue = abs(totalacid - totalbitter);
		}
		return;
	}
	if (num > n - flag + 1)
	{
		return;
	}
	for (int i = flag; i <= n; i++)
	{
		f(i+ 1, num - 1, totalacid * spice[i].acid, totalbitter + spice[i].bitter);
	}
}
int main()
{
	cin >> n;
	for (int i = 1; i <= n; i++)
	{
		cin >> spice[i].acid >> spice[i].bitter;
	}
	for (int i = 1; i <= n; i++)
	{
		f(1, i,1,0);
	}
	cout << dvalue << endl;
}

#6 #7错误,求教如何在这个代码的基础上调整

2023/11/3 14:58
加载中...