zoj 1652

有点累了,整理下今天的东西准备睡觉。。

/*
zoj_1652    数论
这题木有思路啊。。
盗用下别人的分析:
    分析:
    典型的递推题
    设f(n)表示n个z字型折线至多平面划分数。
    现在增加一条边a,和3n条线都相交,增加3n+1个区域。
    再增加一条边b,与a平行,同样增加3n+1个区域。
    最后增加一条边c,与已有的边都相交,增加3n+3个区域。又因为要与a,b形成锯齿形,所以又减去2*2个区域
    所以得出递推式 f(n)=f(n-1)+9*(n-1)+1

其实这题的基础当然是用直线划分平面问题,应该去掌握下。还有就是类似用'<'之类的符号划分平面的问题。。
*/
#include <iostream>
#include <cstdio>
using namespace std;
int f[10001];

int main()
{
    int i;
    f[0]=1;
    for( i=1;i<10001;i++ )
        f[i]=f[i-1]+9*(i-1)+1;
    while( scanf("%d",&i)!=EOF )
        printf("%d\n",f[i]);
    return 0;
}


你可能感兴趣的:(c)