Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve(args) {
- var size = args[0].split(" ");
- var rows = size[0];
- var cols = size[1];
- var jumps = size[2];
- var start = args[1].split(" ").map(Number);
- var startRows = start[0];
- var startCols = start[1];
- var matrix = [];
- var counter = 1;
- for (var i = 0; i < rows; i++) {
- matrix[i] = [];
- for (var j = 0; j < cols; j++) {
- matrix[i] [j] = counter;
- counter++;
- }
- }
- var visited = [];
- var allJumps = [];
- visited.push(matrix[startRows] [startCols]);
- for (var i = 0; i < jumps; i++) {
- allJumps.push(args[i + 2]);
- }
- var k = 0;
- var sum = matrix[startRows] [startCols];
- while (true) {
- if (k > jumps - 1) {
- k = 0;
- }
- var nextJump = allJumps[k].split(" ").map(Number);
- //console.log(nextJump);
- k++;
- startRows += nextJump[0];
- startCols += nextJump[1];
- if (startRows < 0 || startCols < 0 || startRows > rows - 1 || startCols > cols - 1) {
- return ("escaped " + sum);
- }
- sum += matrix[startRows] [ startCols];
- if (visited.indexOf(matrix[startRows][startCols] = - 1)) {
- visited.push(matrix[startRows] [startCols]);
- }
- else {
- return ('caught ' + visited.length);
- }
- }
- }
- console.log(solve(['6 7 3', '0 0', '2 2', '-2 2', '3 -1']));
Advertisement
Add Comment
Please, Sign In to add comment