Advertisement
juanjo12x

UVA_10920_Spiral_Tap

Aug 10th, 2014
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.79 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <algorithm>
  4. #include <cstring>
  5. #include <string>
  6. #include <cctype>
  7. #include <stack>
  8. #include <queue>
  9. #include <list>
  10. #include <vector>
  11. #include <map>
  12. #include <set>
  13. #include <sstream>
  14. #include <stdlib.h>
  15. #include <cmath>
  16. #define LL unsigned long long
  17. using namespace std;
  18.  
  19. typedef long long ll;
  20.  
  21. int size;
  22. ll query;
  23.  
  24. int main() {
  25.     while(scanf("%d %lld", &size, &query), (size, query)) {
  26.         int half = size / 2;
  27.  
  28.         ll c = 1, inc = 1;
  29.         int x, y;
  30.         int xa, ya;
  31.         x = y = half;
  32.         while (true) {
  33.             if (c == query) {
  34.                 xa = x, ya = y;
  35.                 break;
  36.             }
  37.  
  38.             if (query > c && query <= c + inc) {
  39.                 ya = y;
  40.                 xa = x - (query - c);
  41.                 break;
  42.             }
  43.             else {
  44.                 x -= inc;
  45.                 c += inc;
  46.             }
  47.  
  48.             if (query > c && query <= c + inc) {
  49.                 xa = x;
  50.                 ya = y - (query - c);
  51.                 break;
  52.             }
  53.             else {
  54.                 y -= inc;
  55.                 c += inc;
  56.             }
  57.  
  58.             inc++;
  59.  
  60.             if (query > c && query <= c + inc) {
  61.                 ya = y;
  62.                 xa = x + (query - c);
  63.                 break;
  64.             }
  65.             else {
  66.                 x += inc;
  67.                 c += inc;
  68.             }
  69.  
  70.             if (query > c && query <= c + inc) {
  71.                 xa = x;
  72.                 ya = y + (query - c);
  73.                 break;
  74.             }
  75.             else {
  76.                 y += inc;
  77.                 c += inc;
  78.             }
  79.  
  80.             inc++;
  81.         }
  82.         end:
  83.         printf("Line = %d, column = %d.\n", size-xa, ya+1);
  84.     }  
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement