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; }