Cod sursa(job #531648)

Utilizator nautilusCohal Alexandru nautilus Data 10 februarie 2011 00:01:32
Problema Nunta Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include<fstream>
#define dmax 300
using namespace std;

int n;
int a[5][dmax],sol[dmax];


void citire()
{
 ifstream fin("nunta.in");
 
 fin>>n;
 
 fin.close();
}


void solve()
{
 int i,j,ncmax;
	
 for (j=3; j<=n; j++)
	 {
	  ncmax = max(a[1][0], a[2][0]);
	  
	  for (i=1; i<=ncmax; i++)
		  {
		   sol[i] += a[1][i] + a[2][i];
		   sol[i+1] = sol[i] / 10;
		   sol[i] = sol[i] % 10;
		  }
	  
	  if (sol[ncmax+1] != 0)
		  ncmax++;
	  sol[0] = ncmax;
	  
	  for (i=0; i<=ncmax; i++)
		  {
		   a[1][i] = a[2][i];
		   a[2][i] = sol[i];
		   sol[i] = 0;
		  }
	 }	
}


void afisare()
{
 int i;
	
 ofstream fout("nunta.out");
 
 if (n == 1)
	 fout<<"1"; else
	 if (n == 2)
		 fout<<"2"; else
		 for (i=a[2][0]; i>=1; i--)
			 fout<<a[2][i];

 fout.close();
}


int main()
{
	
 citire();
 
 a[1][0] = 1; a[1][1] = 1;
 a[2][0] = 1; a[2][1] = 2;
	
 solve();
 afisare();
 
 return 0;
}