Pagini recente »
Istoria paginii runda/sa_te_vad
|
Istoria paginii runda/pregatire_oji_clasa_a_v-a_3
|
Istoria paginii runda/xt-428
|
Istoria paginii runda/simulareoni6_5/clasament
|
Cod sursă (job #513303)
Cod sursă (job
#513303)
#include <fstream>
using namespace std;
ifstream cin("romb2.in");
ofstream cout("romb2.out");
int X[4], Y[4], t;
int main() {
cin >> t;
while(t--) {
int dx, dy, steps, x, y;
long long ans = 0;
cin >> dx >> dy >> steps >> x >> y;
x *= dy;
y *= dx;
dx *= dy;
Y[0] = -dx;
X[1] = dx;
Y[2] = dx;
X[3] = -dx;
while(steps--) {
int a = (x > y);
int b = (x + y > 0);
int q = (a << 1) ^ (a == b);
x <<= 1;
y <<= 1;
x += X[q];
y += Y[q];
ans = (ans << 2) ^ q;
}
cout << ans + 1 << '\n';
}
return 0;
}