Cod sursa(job #880945)

Utilizator TudorMTudor Moldovanu TudorM Data 17 februarie 2013 15:48:21
Problema Nunta Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<fstream>
#include<cstring>
using namespace std;
ifstream f("nunta.in");
ofstream g("nunta.out");
int n, p, q, a[1000], b[1000], c[1000], r, t, i, j;
int main()
{
	f>>n;
	p=q=1;
	a[1]=1;
	b[1]=2;
	r=2;
	if(n<=3)g<<n;
	else
	{
		while(r<n)
		{
			if(p<q)
			{
				for(i=p+1;i<=q;i++)
					a[i]=0;
			}
			p=q;
			t=0;
			for(i=1;i<=q;i++)
			{
				c[i]=(a[i]+b[i]+t)%10;
				t=(a[i]+b[i]+t)/10;
			}
			if(t>0)c[++q]=t;
			r=q;
			r++;
			memcpy(a,b,sizeof(int)*(q+1));
			memcpy(b,c,sizeof(int)*(r+1));
			p=q;
			q=r;
		}
		g<<c[r];
	}
		f.close();
		g.close();
		return 0;
}