Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function Solve(args) {
- var n_m = args[0].split(' ');
- var n = parseInt(n_m[0]);
- var m = parseInt(n_m[1]);
- var rowColsStart = args[1].split(' ');
- var startingRow = parseInt(rowColsStart[0]);
- var startingCol = parseInt(rowColsStart[1]);
- var matrix = [];
- for (var i = 0; i < n; i++) {
- var currRow = args[i + 2];
- matrix[i] = [];
- for (var j = 0; j < m; j++) {
- matrix[i][j] = currRow.charAt(j);
- }
- }
- var getValueMatrix = [];
- var count = 1;
- for (var i = 0; i < n; i++) {
- getValueMatrix[i] = [];
- for (var j = 0; j < m; j++) {
- getValueMatrix[i][j] = count++;
- }
- }
- var resultSum = 0;
- var currPosition = '';
- var prevPosition = '';
- var isOut = false;
- var steps = 0;
- while (true) {
- currPosition = matrix[startingRow][startingCol];
- resultSum += getValueMatrix[startingRow][startingCol];
- steps++;
- if (currPosition == 'l') {
- startingCol--;
- if (prevPosition == 'r') {
- console.log("lost " + steps);
- return;
- }
- }
- else if (currPosition == 'r') {
- startingCol++;
- if (prevPosition == 'l') {
- console.log("lost " + steps);
- return;
- }
- }
- else if (currPosition == 'd') {
- startingRow++;
- if (prevPosition == 'u') {
- console.log("lost " + steps);
- return;
- }
- }
- else if (currPosition == 'u') {
- startingRow--;
- if (prevPosition == 'd') {
- console.log("lost " + steps);
- return;
- }
- }
- if (startingCol < 0 || startingCol >= m || startingRow < 0 || startingRow >= n) {
- isOut = true;
- break;
- }
- prevPosition = currPosition;
- }
- if (isOut) {
- console.log("out " + resultSum);
- }
- }
- Solve(["3 4", "1 3",
- "lrrd",
- "dlll",
- "rddd"]
- );
- Solve(["5 8",
- "0 0",
- "rrrrrrrd",
- "rludulrd",
- "durlddud",
- "urrrldud",
- "ulllllll"]
- );
- Solve([
- "5 8",
- "0 0",
- "rrrrrrrd",
- "rludulrd",
- "lurlddud",
- "urrrldud",
- "ulllllll"]
- );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement