HDOJ 2050 折线分割平面

http://acm.hdu.edu.cn/showproblem.php?pid=2050

n = 1 ,     f(n) =2,

n = 2 ,     f(n) =7,

把折线可以看成两条射线和这这两条射线的交点,

1.在有n-1条直线的时候,有f(n-1)个区域,有(n-1)*2条射线,

2,现在来了第n条折线,它是由两条射线和这这两条射线的交点所组成的,

3,a,每一条射线都会和前面(n-1)*2条射线相交,并且产生(n-1)*2个新的区域(也就是说,,每一个交点都会产生一个新的区域),一条折线就会带来(n-1)*2*个新区域,

    b,每一个交点也会带来一个新的区域,

#include <iostream>
using namespace std;
int main(){
    int a[10002],n,m;
    a[1] = 2;
    a[2] = 7;
    for(int i = 3;i < 10001;i++){
        a[i] = a[i-1] + (i-1)*4 +1;
    }
    cin>>n;
    while(n--){
        cin>>m;
        cout<<a[m]<<endl;
    }
    return 0;
}

 

posted on 2013-05-03 16:00  wsxjbcy  阅读(166)  评论(0编辑  收藏  举报

导航