杭电2050

此题思路:先求直线最多能把平面分成多少个部分设为m个!(m=a[i-1]+i;)

 再求折线把平面分的个数n(n=a[2*m]-2*m;)

*注意:一个折线两条直线!!!

 

#include<iostream>
using namespace std;
int main()
{
 int n,m,i;__int64 a[20005];
 cin>>n;
 getchar();
 while(n--)
 {
 cin>>m;
 a[1]=2;
 a[2]=4;
 for(i=3;i<=m*2;i++)
       a[i]=a[i-1]+i;
     a[2*m]=a[2*m]-m*2;
 printf("%I64d\n",a[2*m]);
 }return 0;
}
      

posted on 2012-09-23 20:59  @ 小浩  阅读(357)  评论(1编辑  收藏  举报