PlasmaVNGaming

Untitled

Apr 21st, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.02 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. enum Dir {
  7. UP = 0,
  8. LEFT = 1,
  9. DOWN = 2,
  10. RIGHT = 3
  11. };
  12.  
  13. typedef signed int si;
  14.  
  15. struct Loc {
  16. si up, left, down, right;
  17. };
  18.  
  19. vector<vector<Loc>> a;
  20. int n;
  21.  
  22. boolean inRange(const )
  23.  
  24. pair<si, si> run(const si& x_start, const si& y_start, long long s, Dir d) {
  25. si x = x_start;
  26. si y = y_start;
  27. switch (d) {
  28. case UP:
  29. x-=s;
  30. break;
  31. case LEFT:
  32. y-=s;
  33. break;
  34. case DOWN:
  35. x+=s;
  36. break;
  37. case RIGHT:
  38. y+=s;
  39. break;
  40. }
  41. return make_pair(x, y);
  42. }
  43.  
  44. pair<si, si> run(const si& x_start, const si& y_start, long long s) {
  45. si x = x_start;
  46. si y = y_start;
  47. Dir d = UP;
  48.  
  49.  
  50. }
  51.  
  52. int main() {
  53. si x_start;
  54. si y_start;
  55. long long s;
  56. cin >> n >> x_start >> y_start >> s;
  57. x_start--;
  58. y_start--;
  59.  
  60. a.resize(n, vector <Loc> (n));
  61.  
  62. for (int x = 0; x < n; i++) {
  63. for (int y = 0; y < n; i++) {
  64. char c;
  65. cin >> c;
  66. if (c == '#') {
  67. a[x][y] = {-1, -1, -1, -1};
  68. } else {
  69. si up = 0;
  70. si left = 0;
  71. if (x > 0) up = a[x - 1][y] + 1;
  72. if (y > 0) left = a[x][y - 1] + 1;
  73. a[x][y] = {up, left, 0, 0};
  74. }
  75. if (y == n - 1) {
  76. int right = a[x][n - 1];
  77. for (int j = n - 2; j >= 0; j--) {
  78. if (a[x][j].up == -1) right = -1;
  79. else {
  80. right++;
  81. a[x][j].right = right;
  82. }
  83. }
  84. }
  85. }
  86. }
  87.  
  88. for (int y = 0; y < n; y++) {
  89. int down = a[n - 1][y];
  90. for (int x = n - 2; x >= 0; x--) {
  91. if (a[x][y].up == -1) down = -1;
  92. else {
  93. down++;
  94. a[x][y].down = down;
  95. }
  96. }
  97. }
  98.  
  99.  
  100.  
  101. return 0;
  102. }
Advertisement
Add Comment
Please, Sign In to add comment