本地的几个数据过了,为啥不对
查看原帖
本地的几个数据过了,为啥不对
606774
apengya楼主2021/12/18 11:19
#include<iostream>
#include<cmath>
using namespace std;
double a[200], b[55];
double  mid, he, all = 0,minn = 134435;;
void rec(double start, double count, double sum,double k)
{
	minn = min(abs(mid-sum), minn);
	he = mid + minn;
	if (count == k)  return;
	for (int i = start; i <= k; i++)
	{
		rec(i + 1, count + 1, sum + a[i],k);
		rec(i + 1, count + 1, sum, k);
	}
}
int main()
{
	for (int j = 1; j <= 4; j++)
	{
		cin >> b[j];
	}
	for (int j = 1; j <= 4; j++)
	{
		double al = 0;
		for (int z = 1; z <= b[j]; z++)
		{
			cin >> a[z];
			al = a[z] + al;
		}
		mid = al / 2.0;
		cout << mid << endl;
		if (b[j] == 1) he = a[1];
		else rec(1, 0, 0,b[j]);
		cout << he << endl;
		all = all + he;
	}
	cout <<all << endl;
	return 0;
}
2021/12/18 11:19
加载中...