// 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