0
点赞
收藏
分享

微信扫一扫

HDU 2050 折线分割平面

王老师说 2022-02-08 阅读 40
c++

问题描述

我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是 n 条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最 多可以将平面分成 7 部分,具体如右所示。在这里插入图片描述

输入

输入数据的第一行是一个整数 C,表示测试实例的个数,然后是 C 行数据,每行包含一个整 数 n(0<n<=10000),表示折线的数量

输出量

对于每个测试实例,请输出平面的最大分割数,每个实例的输出占一行。

样本输入

2
1
2

样本输出

2
7

代码

#include <iostream>
using namespace std;
//数学问题:分割平面的几种类型:
//1、直线型:a[n]=(n*n+n+2)/2;
//2、平行线型:f(n)=2*n^2+1;
//3、折线形:f(n)=2*n^2-n+1;
//4、Z字型: f [n] = f [n-1]+9* (n-1) +1
int main(){
    int n,i;
    cin>>i;
    while(i--){
        cin>>n;
        cout<<(2*n*n-n+1)<<endl;
    }
    return 0;
}
举报

相关推荐

0 条评论