给N条边,请找三条边,使其组成一个三角形,并使得这个三角形的

分析:水题,首先对所有边排序,之后只需要判断相邻的三条边是否能组成一个三角形,,若能,则当前三角形就是之前所有符合三角形中周长最大的,扫描一遍排序后的结果即可得到最终答案。

#include<iostream>#include<algorithm>using namespace std;int a[10005];int main(){int n,i,len,tmp;while(cin>>n && n){len=0;for(i=0;i<n;i++)cin>>a[i];sort(a,a+n);len=0;for(i=0;i+2<n;i++)if(a[i]+a[i+1]>a[i+2]){tmp=a[i]+a[i+1]+a[i+2];len=len>tmp?len:tmp;}cout<<len<<endl;}return 0;}

只有这样才不会被“不可能”束缚,才能不断超越自我。

给N条边,请找三条边,使其组成一个三角形,并使得这个三角形的

相关文章:

你感兴趣的文章:

标签云: