fork(1) download
  1. #include <stdio.h>
  2. #include <iostream>
  3. using namespace std;
  4. int n,l,k,i,j,x, y, cnt;
  5. int main(){
  6. cin >> n >> l;
  7. if(n*n < l || l % 2 == 1)
  8. cout << "Unsuitable device\n";
  9. else {
  10. cout << "Overwhelming power of magic\n";
  11.  
  12. if (l <= 2 * n) {
  13. k = l / 2;
  14. for (i = 1; i <= k; i++) printf("1 %d\n", i);
  15. for (i = k; i >= 1; i--) printf("2 %d\n", i);
  16. return 0;
  17. } else
  18. if (l <= 4 * n - 4) {
  19. k = (l + 4 - 2 * n)/ 2;
  20. for (i = 1; i <= n; i++) printf("1 %d\n", i);
  21. for (i = 2; i <= k; i++) printf("%d %d\n", i, n);
  22. for (i = n - 1; i >= 1; i--) printf("%d %d\n", k, i);
  23. for (i = k - 1; i >= 2; i--) printf("%d %d\n", i, 1);
  24.  
  25. return 0;
  26. } else {
  27. for (i = 1; i <= n; i++) printf("1 %d\n", i);
  28. for (i = 2; i <= n; i++) printf("%d %d\n", i, n);
  29.  
  30. x = n;
  31. y = n;
  32.  
  33. for(cnt = 0, k = 2 * n; 1; k++) {
  34.  
  35. if (cnt % 2 == 0) x--;
  36. else x++;
  37.  
  38. printf("%d %d\n", y, x);
  39.  
  40. if (k + y - 2 + x - 1 == l) break;
  41.  
  42. if ((cnt % 2 == 0 && x == 1) || (cnt % 2 == 1 && x == n - 1)) {
  43. y--;
  44. k++;
  45. printf("%d %d\n", y, x);
  46.  
  47. if (k + y - 2 + x - 1 == l) break;
  48.  
  49. cnt++;
  50. }
  51. }
  52. if (y == 2 && x == 1)return 0;
  53. for (y--; y >= 2; y--) printf("%d %d\n", y, x);
  54. for (x--; x >= 1; x--) printf("2 %d\n", x);
  55. }
  56. }
  57. return 0;
  58. }
Success #stdin #stdout 0s 3344KB
stdin
Standard input is empty
stdout
Overwhelming power of magic