zoukankan      html  css  js  c++  java
  • UVa 11401 Triangle Counting

    Problem G

    Triangle Counting

    Input: Standard Input

    Output: Standard Output

     

     

    You are given n rods of length 1, 2…, n. You have to pick any 3 of them & build a triangle. How many distinct triangles can you make? Note that, two triangles will be considered different if they have at least 1 pair of arms with different length.

    Input

    The input for each case will have only a single positive integer (3<=n<=1000000). The end of input will be indicated by a case with n<3. This case should not be processed.

    Output

     

    For each test case, print the number of distinct triangles you can make.

    Sample Input                                                  Output for Sample Input

    5

    8

    0

    3

    22

    #include<iostream>
    #include<cstdio>
    
    using namespace std;
    
    const int maxn=1000010;
    
    long long num[maxn];
    
    int main(){
    
        //freopen("input.txt","r",stdin);
    
        num[3]=0;
        for(long long i=4;i<maxn;i++)       //这里不能用int,否则UVa上WA
    
            num[i]=num[i-1]+((i-1)*(i-2)/2-(i-1)/2)/2;
        int n;
        while(cin>>n){
            if(n<3)
                break;
            cout<<num[n]<<endl;
        }
        return 0;
    }
  • 相关阅读:
    398. Random Pick Index
    382. Linked List Random Node
    645. Set Mismatch
    174. Dungeon Game
    264. Ugly Number II
    115. Distinct Subsequences
    372. Super Pow
    LeetCode 242 有效的字母异位词
    LeetCode 78 子集
    LeetCode 404 左叶子之和
  • 原文地址:https://www.cnblogs.com/jackge/p/2981485.html
Copyright © 2011-2022 走看看