Description
小A家里有很多长度不一样的木棍,有一天他很无聊,只能摆弄这些木棒来解闷了。小A的数学学得很好,所以他想在这些木棒中挑出3根来组成一个直角三角形,当然,他有可能有很多种选法,所以他还想挑出一个面积最大的。
Input
输入有多组,每组输入包括2行,第一行输入一个n(0<=n<=100),表示小A有n根木棍,接着一行有n个整数(<=1000),表示木棍的长度(长度从小到大给出)。Output
输出面积最大的直角三角形的面积,且保留3位小数,如果不能组成,输出“My Good!”Sample Input
4
1 2 3 4
5
2 3 4 5 6
6
3 4 5 6 8 10
2
1 1
Sample Output
My Good!
6.000
24.000
My Good!
#include<iostream>
#include<algorithm>
#include<cmath>
#include<iomanip>
using namespace std;
int main(){
int n,a[1001],b[1001],flag;
double sum;
//flag=0;
while(cin>>n){
sum=0.0;
for(int i=0;i<n;i++){
cin>>a[i];
//b[i]=a[i]*a[i];
}
if(n<3){
cout<<"My Good!"<<endl;
continue;
}
flag=0;
for(int i=0;i<n;i++)
for(int j=i+1;j<n;j++)
for(int k=i+2;k<n;k++){
if(a[i]*a[i]+a[j]*a[j]==a[k]*a[k])
{
flag=1;
if(0.5*a[i]*a[j]>sum)
sum=0.5*a[i]*a[j];
}
}
if(flag==0)
cout<<"My Good!"<<endl;
else
cout<<fixed<<setprecision(3)<<sum<<endl;
}
return 0;
}