Problem Description
我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示。
Input
输入数据的第一行是一个整数C,表示测试实例的个数,然后是C 行数据,每行包含一个整数n(0<n<=10000),表示折线的数量。
Output
对于每个测试实例,请输出平面的最大分割数,每个实例的输出占一行。
输入样例
2
1
2
输出样例
2 7
一个折线与另一折线至多四个交点,这四个点将新加入的折线分为五段,增加了四块区域
附ac代码
#include<cstdio> #include<iostream> double a[10020]; using namespace std; void pr(int m,int n) { if(n<m) printf("%.0lf\n",a[n]); else { for(int i=m;i<=n;++i) { a[i]=a[i-1]+4*(i-1)+1;//实现时候i与n完全不同 } printf("%.0lf\n",a[n]); } } int main() { int c,n; a[1]=2;a[2]=7; int maxn=2; cin>>c; for(int i=1;i<=c;++i) { scanf("%d",&n); pr(maxn,n); maxn=max(maxn,n); } return 0; }
标签:分割,int,hdu,实例,折线,平面,include,递推 From: https://www.cnblogs.com/ruoye123456/p/17001015.html