总结:由于自己弱爆了。。。还是看了别人的。
题解:分割平面的个数==交点个数+顶点个数+1;
我们令f(n-1)为前n-1条折线分割的平面数,当添加第n条折线时(两条直线)。
因为每一条边与前n-1条折线的两条边都相交,故增加的交点数为2*2*(n-1),顶点增加1,故
f(n)=f(n-1)+4(n-1)+1
#include<cstdio>
#include<iostream>
using namespace std;
long long f[10010];
int main(){
int T,n;
f[1]=2;f[2]=7;
for(int i=3;i<=10000;i++)
f[i]=f[i-1]+4*(i-1)+1;
cin>>T;
while(T--){
scanf("%d",&n);
printf("%d\n",f[n]);
}
return 0;
}