分析:水题,首先对所有边排序,之后只需要判断相邻的三条边是否能组成一个三角形,若能,则当前三角形就是之前所有符合三角形中周长最大的,扫描一遍排序后的结果即可得到最终答案。
#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; }
时间: 2024-10-08 09:45:28