Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdio>
- using namespace std;
- typedef long long ll;
- ll p;
- int sz;
- int main() {
- //freopen("input.txt", "r", stdin);
- while(scanf("%d %d", &sz, &p), (sz || p)){
- ll increment = 1, current = 1;
- int line, column, x, y;
- x = y = sz / 2;
- while(true){
- if(current == p){
- line = y; column = x;
- break;
- }
- if((p > current) && (p <= current + increment)){
- column = x;
- line = y + (p - current);
- break;
- } else {
- current += increment;
- y += increment;
- }
- if((p > current) && (p <= current + increment)){
- column = x - (p - current);
- line = y;
- break;
- } else {
- current += increment;
- x -= increment;
- }
- increment++;
- if ((p > current) && (p <= current + increment)){
- line = y - (p - current);
- column = x;
- break;
- } else {
- y -= increment;
- current += increment;
- }
- if((p > current) && (p <= current + increment)){
- column = x + (p - current);
- break;
- } else {
- current += increment;
- x += increment;
- }
- increment++;
- }
- printf("Line = %d, column = %d.\n", line + 1, column + 1);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement