Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function nexus(input){
- let arrayOne = input.shift().split(' ');
- let arrayTwo = input.shift().split(' ');
- nexusArr = input;
- let nexusStr = 'notNexus';
- while(nexusStr != 'nexus'){
- nexusStr = nexusArr.shift();
- if(nexusStr != 'nexus'){
- let arr = nexusStr.split(/(\d+):(\d+)\|(\d+):(\d+)/);
- let arrayOneBegin = +arr[1], arrayTwoEnd = +arr[2], arrayTwoBegin = +arr[4], arrayOneEnd = +arr[3];
- let crossing = false;
- if(isBetween(arrayOneBegin, arrayTwoBegin, arrayOneEnd) || isBetween(arrayTwoEnd, arrayTwoBegin, arrayOneEnd)
- || isBetween(arrayTwoBegin, arrayOneBegin, arrayTwoEnd) || isBetween(arrayOneEnd, arrayOneBegin, arrayTwoEnd))
- crossing = true;
- if(crossing == true){
- let nexusValue = +arrayOne[arrayOneBegin] + +arrayOne[arrayOneEnd] + +arrayTwo[arrayTwoBegin] + +arrayTwo[arrayTwoEnd];
- if(arrayOneBegin>arrayOneEnd){
- let temp = arrayOneBegin;
- arrayOneBegin = arrayOneEnd;
- arrayOneEnd = temp;
- }
- if(arrayTwoBegin>arrayTwoEnd){
- let temp = arrayTwoBegin;
- arrayTwoBegin = arrayTwoEnd;
- arrayTwoEnd = temp;
- }
- arrayOne.splice(arrayOneBegin, arrayOneEnd-arrayOneBegin+1);
- arrayTwo.splice(arrayTwoBegin, arrayTwoEnd-arrayTwoBegin+1);
- addNexusValue(arrayOne, nexusValue);
- addNexusValue(arrayTwo, nexusValue);
- }
- crossing = false;
- }
- else{
- print(arrayOne);
- print(arrayTwo);
- }
- }
- function print(arr){
- let strLine = "";
- arr.forEach(el => strLine = strLine + ((strLine!="")?", ":"") + el );
- console.log(strLine);
- }
- function addNexusValue(arr, nexusValue){
- for(let i = 0; i < arr.length; i++)
- arr[i] = +(arr[i]) + nexusValue;
- }
- function isBetween(el, from, to){
- if(from > to){
- let temp = from;
- from = to;
- to = temp;
- }
- if(el >= from && el <= to)
- return true;
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement