Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let input = [
- '6',
- '1 2 3 4 5 6',
- '2 3 4 5 6 7',
- '6 5 4 3 2 1',
- '3 4 5 6 7 8',
- '4 5 6 7 8 9',
- '9 8 7 6 5 4',
- '3 5 3 -5 -4 -2',
- ];
- let print = this.print || console.log;
- let gets = this.gets || ((arr, index) => () => arr[index++])(input, 0);
- let numberOfRowsAndCols = +gets()
- let emptyMatrix = []
- let filledMatrix = []
- let sum = 0
- let sumMax = 0
- for(let i = 0;i<numberOfRowsAndCols;i++){
- emptyMatrix.push(gets(i).split(' ').map(Number))
- }
- let coordinates = gets().split(' ').map(Number)
- for(let r = 0 , c = 1 ; c<coordinates.length ;r+=2,c+=2){
- if(coordinates[r]>0 && coordinates[c]>0){
- for(let col = 0 ; col <= coordinates[c] ; col++){
- sum += emptyMatrix[coordinates[r]][col]
- sum+= emptyMatrix[coordinates[r]-1][coordinates[c]]
- }
- }else if(coordinates[r]>0 && coordinates[c]<0){
- for(let col = 0 ; col <= Math.abs(coordinates[c]) ; col++){
- sum += emptyMatrix[coordinates[r]][col]
- sum+= emptyMatrix[coordinates[r]+1][Math.abs(coordinates[c])]
- }
- }else if(coordinates[r]<0 && coordinates[c]>0){
- for(let col = numberOfRowsAndCols-1 ; col >=coordinates[c] ; col--){
- sum += emptyMatrix[Math.abs(coordinates[r])][col]
- sum+= emptyMatrix[Math.abs(coordinates[r])-1][coordinates[c]]
- }
- }else if(coordinates[r]<0 && coordinates[c]<0){
- for(let col = numberOfRowsAndCols-1 ; col >=Math.abs(coordinates[c]) ; col--){
- sum += emptyMatrix[Math.abs(coordinates[r])][col]
- sum+= emptyMatrix[Math.abs(coordinates[r])+1][Math.abs(coordinates[c])]
- }
- }
- if(sum > sumMax){
- sumMax = sum
- }
- }
- print(sumMax)
Advertisement
Add Comment
Please, Sign In to add comment