zoukankan      html  css  js  c++  java
  • 计算输入序列能组成三角形的个数

    时间限制 1000 ms 内存限制 65536 KB

    题目描述

    Amy learned equilateral triangle today and was interested in it very much. After school, she took out her toys as usual and surprisingly found so many sticks! As the plot goes, she started to count how many different equilateral triangles they could form. However, there're countless sticks and it was not easy for such a little girl to finish this task. Help her!
    An equilateral triangle is such a triangle, that the length of its three sides are equal. Two equilateral triangle are different if and only if they have different lengths of sides. Amy only uses one stick to form one side of a triangle.

     

    输入格式

    The input contains several cases. An integer T(T100) will exist in the first line of input, indicating the number of test cases.
    Each test case begins with the number of sticks N(N100). The following line contains N numbers length[i]

    (1length[i]100), indicating all the lengths of sticks.

    输出格式

    Output the answer for each test case in respective lines.
     

    输入样例

    2
    3
    2 3 1
    4
    3 3 3 3

    输出样例

    0
    1

    一个测试通过代码:

    #include <iostream>
    #include <map>
    using namespace std;

    int solution(int *org, int len)
    {
        int res = 0;
        map<int, int> data;
        for (int i = 0; i < len; ++i) {
            data[org[i]]++;
        }
        map<int, int>::iterator itr = data.begin();
        while (itr != data.end()) {
            if (itr->second >= 3)
                ++res;
            ++itr;
        }
        return res;
    }

    int main()
    {
        int t;
        cin >> t;
        for (int i = 0; i < t; ++i) {
            int n;
            cin >> n;
            int *data = new int[n];
            for (int j = 0; j < n; ++j) {
                cin >> data[j];
            }
            cout << solution(data, n) << endl;
            delete [] data;
        }
        return 0;
    }

  • 相关阅读:
    经常使用排序算法时间复杂度和空间复杂度简析
    Android触碰事件
    opencv矩阵运算(2)
    [ACM] HDU 1400 Mondriaan&#39;s Dream (状态压缩,长2宽1长方形铺满)
    指针知识梳理8- 指针的指针
    Git学习笔记(一)
    Object-c Associated Object
    YTUOJ-计算该日在本年中是第几天(用户自己定义类型)
    MYSQL源代码编译的变动
    手机端小问题整理
  • 原文地址:https://www.cnblogs.com/candycloud/p/3591788.html
Copyright © 2011-2022 走看看