兔子繁殖,我用C++提示超时,该怎么解决

【问题描述】

有一对小兔,过一个月后长成大兔,到第三个月就可以生下一对小兔;
并且以后每个月都生下一对小兔,而所生的小兔也同样到一个月之后长成大兔,到第三个月就可以生下一对小兔,并且以后也每个月都生下一对小兔。

假设所有的兔子均不死亡,问n个月后共有多少只兔子?

代码如下
#include

#include

using namespace std;

int f(int n)

{

if(n==1||n==2)

{

return(1);

}

else

{

return(f(n-1)+f(n-2));

}

}

int main()

{

freopen("tuzi.in","r",stdin);

freopen("tuzi.out","w",stdout);

int n;

cin>>n;

n++;

cout<<(f(n))*2;

}

1.你这儿使用的tuzi.in和tuzi.out表示什么??既然使用了重定向,那么freopen的第一个参数就使用/dev/tty啊;
2.#include预处理后面加上iostream,freopen函数是标C的函数,需要#include;