Cod sursa(job #886869)

Utilizator Detrol2kGuianu Leon Detrol2k Data 23 februarie 2013 13:04:44
Problema Pascal Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <fstream>
#include <algorithm>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <iostream>
#include <string.h>
#include <vector>
using namespace std;

int r, d, i, j, aux_r = 2, size = 3, k = 2;
int v1[5000000], v2[5000000];


int main()
{
	ifstream fin("pascal.in");
	ofstream fout("pascal.out");
	
	v1[1] = 1; v1[2] = 2; v1[3] = 1;
	
	//Read
	fin>>r>>d;


	//Compute
	while(aux_r != r)
	{
		if(k == 1)
		{
			v1[1] = v1[size+1] = 1;
			for(i=2; i<=size; i++)
				v1[i] = v2[i-1]+v2[i];
			size++;
			k = 2;	
		}
		else
		if(k == 2)
		{	
			v2[1] = v2[size+1] = 1;
			for(i=2; i<=size; i++)
				v2[i] = v1[i-1]+v1[i];
			size++;
			k = 1;
		}
		aux_r++;
	}

	
	//Print
	int nr = 0;
	if(k == 1)
		for(i=2; i<size; i++)
		{
			//cout<<v2[i]<<" ";
			if(v2[i] % d == 0)
				nr++;
		}
	else
		for(i=2; i<size; i++)
		{
			//cout<<v1[i]<<" ";
			if(v1[i] % d == 0)
				nr++;
		}
	fout<<nr;
	//cout<<nr;
}