题目描述
用N个三角形最多可以把平面分成几个区域?
输入
输入数据的第一行是一个正整数T(1<=T<=10000),表示测试数据的数量.然后是T组测试数据,每组测试数据只包含一个正整数N(1<=N<=10000).
输出
对于每组测试数据,请输出题目中要求的结果.
样例输入
2
1
2
样例输出
2
8
一个三角形,把平面分割为两部分,一个是内部,一个是外部。
n个三角形摆放位置可以重叠,我们来分析一下两个三角形的情况,
可见,共有八个部分,多出来的六个部分刚好就是交点的个数,一个线与三角形相交最多有两个交点,每个三角形有三条边,有两个三角形时是用一个三角形分割另一个三角形,因此,交点个数:1*(3*2),当有一个三角形分割另两个三角形时,2*(3*2),可以认为,那个(3*2)就是一个三角形分割另一个三角形时新产生的交点个数,因此f(n)=f(n-1)+(n-1)*6
#include<iostream>
using namespace std;
int main(){int n,a,i;cin>>n;while(n--){cin>>a;int b=2,c;if(a==1) cout<<2<<endl;else{for(i=2;i<=a;++i){c=b+6*(i-1);b=c;} cout<<c<<endl;}}
}