HDU 2050 折线分割平面 题解

原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2050

由题意得:

1.题意很简单,就是找规律

2画图得:f[1]=2;     f[2]=7=f[1]+5=f[1]+2*3-1    f[3]=16=f[2]+9=f[2]+2*5-1;   f[4]=29=f[3]+13=f[3]+2*7-1;……

3所以:.f[n]=f[n-1]+2*(2*(n-1)+1)-1=f[n-1]+4*n-3;

4.代码如下:

#include<iostream>
using namespace std;

long long sta(int n)
{
    long long f[11111];
    f[1]=2;
    if(n>1)
    {
        for(int i=2;i<=n;i++)
            f[i]=f[i-1]+4*i-3;
    }
    return f[n];
}

int main(void)
{
    int t,n;
    cin>>t;
    while(t--)
    {
        cin>>n;
        cout<<sta(n)<<endl;
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/aptx4869971/article/details/81427844