Sum Frame of a Matrix

Let MM be a square matrix N×NN \times N. This matrix has different frames. Frame 00 is formed by rows 00 and N1N-1 and columns 00 and N1N-1. Frame 11 is formed by rows 11 and N2N-2 and columns 11 and N2N-2, excluding the parts that are part of frame 00, etc.

In the following example, you have that the frame 00 is formed by all the positions where there is a 00, the frame 11 the positions where there is a 11, and the frame 22 the positions where there is a 22:

                          0  0  0  0  0
                          0  1  1  1  0
                          0  1  2  1  0
                          0  1  1  1  0
                          0  0  0  0  0

You must implement the function int sumaMarc(const Matriu& m, int x); with the following specification:

PRE: mm a matrix N×NN \times N and 0x<N/2+(Nmod2)0 \leq x < N/2 + (N~mod~2).

POST: Returns the sum of the elements of the frame xx of MM.

Observation

You only need to send the function we ask for and the functions you define. The rest will be ignored.

Input

A matrix N×NN \times N and 0x<N/2+(Nmod2)0 \leq x < N/2 + (N~mod~2).

Output

The sum of the elements of the frame xx of MM.

Problem information

Author: PRO1

Generation: 2026-01-25T12:53:55.825Z

© Jutge.org, 2006–2026.
https://jutge.org