Cod sursa(job #1821609)

Utilizator medicinedoctoralexandru medicinedoctor Data 3 decembrie 2016 13:11:06
Problema Pascal Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>

using namespace std;

int n,d,c=0,x2=0,x3=0,x5=0;

void adun()
{
    if (d==2 && x2>0) c++;
    if (d==3 && x3>0) c++;
    if (d==4 && x2>1) c++;
    if (d==5 && x5>0) c++;
    if (d==6 && x2>0 && x3>0) c++;
}

void calc()
{
    for (int i=1; i<=n/2; i++)
    {
        if ((n-i+1) % 2 == 0) x2++;
        if ((n-i+1) % 4 == 0) x2++;
        if ((n-i+1) % 3 == 0) x3++;
        if ((n-i+1) % 5 == 0) x5++;
        if ( i % 2 == 0) x2--;
        if ( i % 4 == 0) x2--;
        if ( i % 3 == 0) x3--;
        if ( i % 5 == 0) x5--;
        adun(); if ((n % 2==1) || (i!=n/2 && n % 2== 0)) adun();
    }
}

main()
{
    ifstream cin("pascal.in");
    cin >> n >> d;
    cin.close();
    calc();
    ofstream cout("pascal.out");
    cout << c;
    cout.close();
}