Advertisement
didkoslawow

Untitled

Feb 20th, 2023
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function bunnyKill(bunnyInput) {
  2.   const coordinates = bunnyInput
  3.     .pop()
  4.     .split(' ')
  5.     .map((arr) => arr.split(',').map(Number));
  6.   const matrix = bunnyInput.map((arr) => arr.split(' ').map(Number));
  7.   let bunniesKilled = 0;
  8.   let damageDealt = 0;
  9.  
  10.   for (let i = 0; i < coordinates.length; i++) {
  11.     const x = coordinates[i][0];
  12.     const y = coordinates[i][1];
  13.     const bombDamage = matrix[x][y];
  14.  
  15.     if (bombDamage <= 0) {
  16.       continue;
  17.     }
  18.  
  19.     let startingRow = Math.max(0, x - 1);
  20.     let endRow = Math.min(x + 1, bunnyInput.length - 1);
  21.  
  22.     for (let i = startingRow; i <= endRow; i++) {
  23.       let startColumn = Math.max(0, y - 1);
  24.       let endColumn = Math.min(y + 1, bunnyInput[i].length - 1);
  25.  
  26.       for (let j = startColumn; j <= endColumn; j++) {
  27.         matrix[i][j] -= bombDamage;
  28.       }
  29.     }
  30.     bunniesKilled++;
  31.     damageDealt += bombDamage;
  32. }
  33.  
  34.     for (let i = 0; i < matrix.length; i++) {
  35.       for (let j = 0; j < matrix[i].length; j++) {
  36.         if (matrix[i][j] > 0) {
  37.           damageDealt += matrix[i][j];
  38.           bunniesKilled++;
  39.       }
  40.     }
  41.   }
  42.   console.log(damageDealt);
  43.   console.log(bunniesKilled);
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement