题目:http://acm.hdu.edu.cn/showproblem.php?pid=1249
递推题
有题可知,要使分成的区域最多,与上一个图形含有多少个角有关!
上一个图形的角个数为3*(i-1);
而总共的区域数就应该是3*(i-1)*i;外角每次在被切分.
这个图形的外围和里面保持不变恒为2个;
下面是AC代码:
#include<iostream>
using namespace std;
__int64 f[10001];
int main()
{
int t;
int n,i;
f[1]=2;
f[2]=8;
for(i=3;i<=10000;i++)
{
f[i]=3*i*(i-1)+2;
}
cin>>t;
while(t--)
{
cin>>n;
printf("%I64d\n",f[n]);
}
return 0;
}