学习目标:算法学习-Day8
题库: 洛谷题库
每天保持发布一篇Java或C算法题解!
题目:
给定 4 根木棍的长度,如果它们中存在 3 根木棍可以组成三角形,输出 TRIANGLE ;如果它们无法组成三角形,但是它们中存在 3 根木棍可以组成退化的三角形(任意两边之和大于等于第三边,但是不是三角形),输出 SEGMENT ;否则,输出 IMPOSSIBLE 。
注意: 木棍不能折断,也不能只用一部分长度。
输入格式:
一行 4 个整数,44 根木棍的长度。
输出格式:
如果它们中存在 3 根木棍可以组成三角形,输出 TRIANGLE ;如果它们无法组成三角形,但是它们中存在3根木棍可以组成退化的三角形,输出 SEGMENT ;否则,输出 IMPOSSIBLE。
样例 1 :
输入:
4 2 1 3
输出:
TRIANGLE
样例 2 :
输入:
7 2 2 4
输出:
SEGMENT
样例 3 :
输入:
3 5 9 1
输出:
IMPOSSIBLE
思路:
题目有两种三角形,一种输出TRIANGLE,另一种输出SEGMENT。
给了4根木棍,其中任意3根组成三角形。
如果第一根木棍和第二根木棍的总长大于第四根,那么就一定大于第三根,
所以只要判断第一根木棍和第二根木棍的总长与第三根的关系。
同理,如果第一根木棍和第三根木棍的总长大于第四根,那么第二根木棍和第三根木棍的总长也一定大于第四根
所以只要判断第二根木棍和第三根木棍的总长与第四根的关系。
也就是说退化的三角形也一样判断。
习题总结及反思:
Arrays类的sort()方法,用于排序。
代码如下:
import java.util.*<