Pagini recente »
Clasament hard_contest
|
Borderou de evaluare (job #389622)
|
cel-mai-greu
|
Borderou de evaluare (job #181808)
|
Cod sursă (job #513424)
Cod sursă (job
#513424)
#include <bits/stdc++.h>
using namespace std;
double x, y, dx, dy;
long long int ans, t, k;
void count (int k)
{
if (!k)
return;
ans *= 4;
if (x * dy < y * dx)
{
if (x * dy > -y * dx)
{
//Cadran 1
dx /= 2, dy /= 2;
y -= dy;
ans -= 3;
}
else
{
//Cadran 2
dx /= 2, dy /= 2;
x += dx;
ans -= 2;
}
}
else
{
if (x * dy > -y * dx)
{
//Cadran 4
dx /= 2, dy /= 2;
x -= dx;
}
else
{
//Cadran 3
dx /= 2, dy /= 2;
y += dy;
ans -= 1;
}
}
count (k - 1);
}
int main ()
{
ifstream cin("romb2.in");
ofstream cout("romb2.out");
cin >> t;
while (t--)
{
ans = 1;
cin >> dx >> dy >> k >> x >> y;
count (k);
cout << ans - 1 << '\n';
}
return 0;
}