HDOJ2050(折角划分平面)
首先,先推理直线划分面的情况。
当直线数目为0时,平面数目为1
当直线数目为1时,平面数目为2
依次类推,可得
可以发现,这是一个数列。
f[n]=f[n-1]+n;
但是,这只是直线的,而题目要求是折角的,变化如下:
平面数减少了2!
下附AC代码:
/*HDOJ1005作者:陈佳润2013-04-09*/#include<iostream>using namespace std;long line[10005];int main(){int i,k,time,n;long int t;line[0]=1;line[1]=2;k=3;t=4;for(i=2;i<=10000;i++){//预处理,先算出所以情况t+=k;k++;t+=k;k++;line[i]=t-2*i;}cin>>time;while(time--){cin>>n;cout<<line[n]<<endl;}return 0;}