牛牛手里有N根木棒,分别编号为1~N,现在他从N根里想取出三根木棒,使得三根木棒构成一个三角形,你能计算出牛牛有多少种取法吗?(考虑两种取法中使用的木棒编号有一个不一样就认为是
牛牛手里有N根木棒,分别编号为1~N,现在他从N根里想取出三根木棒,使得三根木棒构成一个三角形,你能计算出牛牛有多少种取法吗?(考虑两种取法中使用的木棒编号有一个不一样就认为是不同的取法)。输入描述:首先输入一个正整数N,接下来的一行共有N个正整数表示每个木棒的长度。
N ≤ 50, 木棒的长度 ≤ 10000.
输出描述:输出一个整数表示方法数。示例1输入51 2 3 4 5输出3
import itertools def isTriangle(arr): arr.sort() if arr[0]+arr[1]>arr[2]: return True else: return False if __name__=='__main__': n=int(input()) nums=list(map(int,input().split())) count=0 for i in itertools.combinations(nums, 3): if isTriangle(list(i)): count+=1 print(count)