Cod sursa(job #604202)

Utilizator vladtarniceruVlad Tarniceru vladtarniceru Data 20 iulie 2011 20:22:14
Problema Pascal Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
# include <fstream>
using namespace std;

ifstream f ("pascal.in");
ofstream g ("pascal.out");

const short prim[] = {0, 2, 3, 5};
short desc[4];
int R, dr, C, Sol, i;
int main ()
{
    f >> R >> C;
    ++R;
    dr = R >> 1;
    for (i = 1; i <= 3; ++i)
        while (C % prim[i]) C = C / prim[i], ++desc[i];
    for (i = 0; i < dr; ++i)
    {
        int d1 = R - i, d2 = i, ap[] = {0, 0, 0, 0};
        for (int j = 1; j <= 3; ++j)
        {
            while (d2 > 0 && !(d1 % prim[j])) d1 = d1 / prim[j], ++ap[j];
            while (d2 > 0 && !(d2 % prim[j])) d2 = d2 / prim[j], --ap[j];
        }
        bool ok = true;
        for (int j = 1; j <= 3 && ok == true; ++j)
            if (prim[j] < desc[j]) ok = false;
        Sol += ok * 1 + ok * (i != dr - 1 && (R & 1));
    }
    g << Sol << '\n';
    g.close ();
    return 0;
}