hd 1249(递推or欧拉公式)

解法一:

(@欧拉公式:V(点) - E(边) + F(面) = 2

所以,若要求增加的区域,即要求增加的点和边的数目。

即△F=△E-△V;

当加入第n个三角形时,

①增加的点:2*(n-1)*3+3=6*n-3

[第n个三角形有三条边,每条边和前n-1个三角形中任意一个都有两个交点,所以交出了2*(n-1)*3个交点,另外产生了第n个三角形的三个顶点,所以再加3]

②增加的边:(n-1)*3*2+(2*n-1)*3=12*n-9

[增加的边有两部分,第一部分在前n-1个三角形的边上,即前n-1个三角形中意一个三角形的任意一条边都产生了两条新边,即(n-1)*3*2,第二部分是第n个三角形每条边新加2*n-1条边]

所以代入公式计算得△F=6*(n-1)。

//2016年3月9日10:54:17
#include <iostream>
using namespace std;
int main()
{
    int t,n;
    cin>>t;
    while(t--)
    {
        cin>>n;
        cout<<3*n*(n-1)+2<<endl;

    }
    return 0;
}

解法二 递推 找规律

 

你可能感兴趣的:(hd 1249(递推or欧拉公式))