四边形分割平面
用N个四边方形最多可以把平面分成几个区域?
Input
第一行输入一个整数T,表示数据组数(1<=T<=10000);
第二行输入一个正整数n(1<=n<=1000);
Output
对于每组数据,请输出结果。
Input
2
1
2
Output
2
10
思路:四边形每一个角形 的一个折线的每一个线段必须与之前每一个四边形的角形的两个边分别有一个交点 才能分割出最大数量的平面,一个四边方形可以分2块,两个四边方形按照上面的思路可以分成8+2(最里面和最外面)块。第二个方形与第一个有8个交点,所以比一个方形的时候多8个区域,第三个正方形和第一第二个方形分别有8个,一共16个区域,所以 可以得到递推公式:an-an-1=8(n-1)
#include<iostream>
using namespace std;
int main()
{
int a[10001],n,t;
a[1]=2;a[2]=10;
for(int i=3;i<=1001;i++)
a[i]=a[i-1]+8*(i-1);
cin>>t;
while(t--)
{
cin>>n;
printf("%lld\n",a[n]);
}
return 0;
}