题意:有边长1--n的棍各一个,能组成多少个三角形...
题目链接:http://openoj.awaysoft.com:8080/judge/contest/view.action?cid=423#problem/B
自己找规律吧,每增加边长为n的棍,是f[n-1]+多少个三角形。
#include <stdio.h>
long long f[1000010],s;
int main()
{
int i,j,n;
f[3]=0;f[4]=1;f[5]=3;
for (i=6;i<=1000000;i++)
{
s=0;
if ((i-3) % 2!=0)
{
s=(i-3)/2+1;
j=s-1;
}
else j=(i-3)/2;
s+=(1+j)*j;
f[i]=f[i-1]+s;
}
while (~scanf("%d",&n))
printf("%lld\n",f[n]);
return 0;
}