首页 > 试题广场 >

组装三角形

[编程题]组装三角形
  • 热度指数:5727 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
牛牛手里有N根木棒,分别编号为1~N,现在他从N根里想取出三根木棒,使得三根木棒构成一个三角形,你能计算出牛牛有多少种取法吗?(考虑两种取法中使用的木棒编号有一个不一样就认为是不同的取法)。

输入描述:
首先输入一个正整数N,接下来的一行共有N个正整数表示每个木棒的长度。
N ≤ 50, 木棒的长度 ≤ 10000.


输出描述:
输出一个整数表示方法数。
示例1

输入

5
1 2 3 4 5

输出

3
import itertools
n=int(input())
nums=list(map(int,input().split()))
res=[]
count=0
for item in itertools.combinations(nums,3):
    res.append(list(item))
    res[0]=sorted(res[0])
    if res[0][0]+res[0][1]>res[0][2]:
        count+=1
    del res[-1]
print(count)

发表于 2022-04-08 15:27:20 回复(1)

热门推荐

通过挑战的用户