Advertisement
ErolKZ

Untitled

Oct 22nd, 2021
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1.  
  2. function solve(arr) {
  3.  
  4.  
  5. let fieldSize = arr.shift();
  6.  
  7. let field = [];
  8.  
  9. let initIndx = arr.shift().split(' ').map(Number);
  10.  
  11.  
  12.  
  13. for (let i = 0; i < fieldSize; i++) {
  14.  
  15. if (initIndx.some(el => el === i)) {
  16.  
  17. field.push(1);
  18.  
  19. } else {
  20.  
  21. field.push(0);
  22.  
  23. }
  24.  
  25. }
  26.  
  27.  
  28. // console.log(field);
  29.  
  30.  
  31.  
  32. for (let i = 0; i < arr.length; i++) {
  33.  
  34. let curr = arr[i].split(' ');
  35.  
  36. if (field[Number(curr[0])] === 1) {
  37.  
  38. let addFly = Number(curr[2]);
  39.  
  40. if (curr[1] === 'right') {
  41.  
  42. while (field[Number(curr[2])] === 1 && Number(curr[2]) < fieldSize) {
  43.  
  44. curr[2] = Number(curr[2]) + addFly;
  45.  
  46. }
  47.  
  48.  
  49. if (curr[2] > fieldSize - 1 || Number(curr[0]) + Number(curr[2]) > fieldSize - 1) {
  50.  
  51. field.splice(Number(curr[0]), 1, 0);
  52.  
  53. continue;
  54.  
  55. }
  56.  
  57.  
  58.  
  59. field.splice(Number(curr[0]), 1, 0);
  60.  
  61. field.splice(Number(curr[2]), 1, 1);
  62.  
  63.  
  64.  
  65.  
  66. } else {
  67.  
  68.  
  69. let startIndex = 0;
  70.  
  71. if (Number(curr[2]) < 0) {
  72.  
  73. startIndex = (Number(curr[0]) + Number(curr[2]));
  74.  
  75. } else {
  76.  
  77. startIndex = Number(curr[0]) - Number(curr[2]);
  78.  
  79. }
  80.  
  81. while (field[startIndex] === 1) {
  82.  
  83. startIndex -= addFly;
  84.  
  85. }
  86.  
  87. field.splice(Number(curr[0]), 1, 0);
  88.  
  89. field.splice(startIndex, 1, 1);
  90.  
  91. }
  92.  
  93.  
  94.  
  95. }
  96.  
  97.  
  98.  
  99. }
  100.  
  101.  
  102. console.log(field.join(' '));
  103.  
  104.  
  105. }
  106.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement