码迷,mamicode.com
首页 > 其他好文 > 详细

HDU 6374(拼三角形 **)

时间:2018-08-11 18:53:21      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:event   hid   gif   sort   eve   while   lap   style   pac   

题意是在给定的线段长中挑选出能拼成三角形的最长的三条边,输出三角形的周长。
先对所有边排序,从大到小,满足两较短边之和大于第三边就输出,若从未输出过就输出 -1

技术分享图片
 1 #include <iostream>
 2 #include <cstring>
 3 #include <cstdio>
 4 #include <algorithm>
 5 using namespace std;
 6 int a[1009];
 7 int main()
 8 {
 9     int n;
10     bool f;
11     while(~scanf("%d",&n))
12     {
13         f = true;
14         for(int i = 0; i < n; i++)
15         {
16             scanf("%d",&a[i]);
17         }
18         sort(a,a+n);
19         for(int i = n-1; i >= 2; i--)
20         {
21             if(a[i-1] + a[i-2] > a[i])
22             {
23                 f = 0;
24                 printf("%d\n",a[i-1]+a[i-2]+a[i]);
25                 break;
26             }
27         }
28         if(f)   puts("-1");
29     }
30     return 0;
31 }
View Code

 

HDU 6374(拼三角形 **)

标签:event   hid   gif   sort   eve   while   lap   style   pac   

原文地址:https://www.cnblogs.com/Taskr212/p/9460570.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!