社区讨论

36pts求调

P1284三角形牧场参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@mjf1j7z9
此快照首次捕获于
2025/12/21 09:20
2 个月前
此快照最后确认于
2025/12/23 15:35
2 个月前
查看原帖
代码:
CPP
#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;
int n,l[20]={};
long long ans=-1;
long long Calc(int a,int b,int c)
{
	double p=(a+b+c)/2.0;
	return sqrt(p*(p-a)*(p-b)*(p-c))*100;
}
void dfs(int step,int a,int b,int c)
{
	if(step>n)
	{
		if(a+b>c&&a+c>b&&b+c>a)
		{
			ans=max(ans,Calc(a,b,c));
		}
		return;
	}
	dfs(step+1,a+l[step],b,c);
	dfs(step+1,a,b+l[step],c);
	dfs(step+1,a,b,c+l[step]);
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>l[i];
	}
	dfs(1,0,0,0);
	cout<<ans;
	return 0;
}

回复

1 条回复,欢迎继续交流。

正在加载回复...