Pagini recente » Cod sursa (job #2474254) | Solutii preONI 2007, Runda 4 | Cod sursa (job #2762179) | Cod sursa (job #468354) | Cod sursa (job #604228)
Cod sursa(job #604228)
# 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;
if (R & 1) ++dr;
for (i = 1; i <= 3; ++i)
while (!(C % prim[i])) C = C / prim[i], ++desc[i];
int ap[] = {0, 0, 0, 0};
for (i = 0; i < dr; ++i)
{
int d1 = R - i, d2 = i + 1;
for (int j = 1; j <= 3; ++j)
{
while (d1 > 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 (ap[j] < desc[j]) ok = false;
Sol += ok;
if (ok && (i < dr - 1 || !(R & 1))) ++Sol;
}
g << Sol << '\n';
g.close ();
return 0;
}