社区讨论
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 条回复,欢迎继续交流。
正在加载回复...