// UVa 10161 - Ant on a Chessboard
#include <iostream>
#include <cmath>
using namespace std;
#define integer signed long long
int main() {
integer t;
while ((cin >> t) && t) {
integer n = (integer) (ceil(sqrt(t)));
integer prev = (n - 1) * (n - 1);
if (n & 1) {
//cout << "D: " << n << " is odd\n";
integer x = n, y = 0;
integer up = min(t - prev, n);
y += up;
integer left = 0;
if (t - prev > up)
left = t - prev - up;
x -= left;
cout << x << " " << y << endl;
} else {
//cout << "D: " << n << " is even\n";
integer x = 0, y = n;
integer right = min(t - prev, n);
x += right;
integer down = 0;
if (t - prev > right)
down = t - prev - right;
y -= down;
cout << x << " " << y << endl;
}
}
return 0;
}
Tuesday, June 16, 2015
UVa 10161 - Ant on a Chessboard
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment