problemcutter

导航

SPOJ Problem 1724:Counting Triangles

题目大意:数三角形。。

数据范围是一百万,而且暴力不可行,所以要推公式。公式可以参照

http://www.docin.com/p-720073077.html

#include<cstdio>
int t; 
long long n,m,ans;
int main(){
    scanf("%d",&t);
    while(t--){
        scanf("%lld",&n);
        ans=(n*(n+1)*(2*n+1))/6;
        m=(n-1)/2;
        if (n&1)ans-=m*(m+1)*(4*m-1)/6;else ans-=m*(m+1)*(4*m+5)/6;
        printf("%lld\n",ans);
    }
}

 

posted on 2015-03-06 20:18  problemcutter  阅读(137)  评论(0编辑  收藏  举报