HDU 1249 三角形

思路:找到n=3时,分割数为20,从而可发现2,8, 20之间差的关系正好是6的倍数。

代码:

#include <stdio.h>

int ncase;
int n;
int nmax;
int a[10010];

int main() {
	nmax=1;
	a[1]=2;
	scanf("%d",&ncase);
	while(ncase--) {
		scanf("%d",&n);
		if(n<=nmax) {
			printf("%d\n",a[n]);
			continue;
		}
		else {
			for (int i=nmax+1; i<=n; i++)
				a[i]=a[i-1]+6*(i-1);
			printf("%d\n",a[n]);
			nmax=n;
			continue;
		}
	}
}

  


posted on 2011-10-13 19:20  Eucalyptus  阅读(224)  评论(0编辑  收藏  举报