hdu2050 参考答案

   1 /*
   2 hdu2050 折线分割平面,递推求解
   3 ymc 2008/9/23
   4 题目大意:
   5 给定n条折线,求最多能将平面分成多少部分。
   6 分析与解题思路:
   7 先考虑直线
   8 令L[n]表示n条直线最多将平面分成L[n]部分。
   9 则可以令第n条直线与其它的n-1条直线都相交。
  10 则有L[n]=l[n-1]+n。
  11 初始L[1]=2;
  12 得到L[n]=1+n(n+1)/2;
  13 记F[n]为n条折线最多将平面分成F[n]部分,则
  14 F[n]=L[2n]-2n=2*n^2+1-n;
  15 */
  16 #include <iostream>
  17 using namespace std;
  18 
  19 int main()
  20 {
  21     int n;
  22     int test;
  23     int ans;
  24     scanf("%d",&test);
  25     while(test-->0)
  26     {
  27         scanf("%d",&n);
  28         ans=2*n*n+1-n;
  29         printf("%d\n",ans);
  30     }
  31 }

hdu2050 参考答案 (2008-09-25 18:51:57由218编辑)