Cod sursa(job #536709)

Utilizator Antonius74Antonius Cezar Hegyes Antonius74 Data 19 februarie 2011 09:09:29
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <cstdio>
#include <vector>
#include <conio.h>
using namespace std;

int main()
{	
	freopen ("fractii.in", r, stdin);
	freopen ("fractii.out", w, stdout);

	int n, aux1,aux2=1,aux3=2,aux4,aux5=1,anz=1;
	vector <int> zahlen;
	scanf ("%d", &n);

	aux1=n;
	n=2;

	for (int i=1;i<=aux1;i++)
	{
		aux2*=2;
		n+=aux2*2;
	}

	zahlen.resize (n+1);
	zahlen[0]=0;
	zahlen[1]=1;
	zahlen[2]=1;

	aux2=1;

	for (int i=1;i<aux1;i++)
	{
		aux2*=2;
		aux4=aux3+1;
		aux3+=aux2*2;

		for (int j=aux4;j<=aux3;j+=4)
		{
			zahlen[j]=zahlen[aux5];
			zahlen[j+1]=zahlen[aux5]+zahlen[aux5+1];
			zahlen[j+2]=zahlen[aux5]+zahlen[aux5+1];
			zahlen[j+3]=zahlen[aux5+1];
			aux5+=2;

			if (zahlen[j]<=aux1 && zahlen[j+1]<=aux1)
				anz++;
			if (zahlen[j+2]<=aux1 && zahlen[j+3]<=aux1)
				anz++;
		}
	}

	printf ("%d \n", anz);
	getch();

}