[编程题] 组装三角形

来源:互联网 发布:树洞源码 编辑:程序博客网 时间:2024/05/10 11:23

牛牛手里有N根木棒,分别编号为1~N,现在他从N根里想取出三根木棒,使得三根木棒构成一个三角形,你能计算出牛牛有多少种取法吗?(考虑两种取法中使用的木棒编号有一个不一样就认为是不同的取法)。
输入描述:
首先输入一个正整数N,接下来的一行共有N个正整数表示每个木棒的长度。

N ≤ 50, 木棒的长度 ≤ 10000.

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

输入例子:
5
1 2 3 4 5

输出例子:
3

暴力

#include"iostream"using namespace std;typedef long long ll;int main(){    int n;    int ai[60];    int num=0;    cin>>n;    for(int i=0;i<n;i++) cin>>ai[i];    for(int i=0;i<n;i++)    {        for(int j=0;j<n;j++)        {            if(j==i) continue;            for(int k=0;k<n;k++)            {                if(k==i||k==j)  continue;                if((ai[i]+ai[j])>ai[k]&&(ai[i]+ai[k])>ai[j]&&(ai[j]+ai[k])>ai[i]) num++;            }        }    }    cout<<num/6<<endl;    return 0;}
0 0
原创粉丝点击