# Problem 2565. Determine the Result of a Move in Reversi

Note: This is closely related to Problem 2538, Find the Next Legal Move in Reversi.

Reversi, also known as Othello, is a game in which reversible white/black chips are placed on a grid. The goal is to have the most pieces once the board is full (i.e. there are no more legal moves). A move, to be legal, must flip at least one opponent's chip by flanking it. "Flanking" occurs by surrounding a line of opposing chips with two of your own. It can occur on straight lines and diagonals.

We represent a small 4x4 board this way, with 0 for empty squares, 1 for black chips, and 2 for white chips,

``` [ 0 0 0 0
0 1 2 0
0 2 1 0
0 0 0 0 ]```

Now assume black now moves where the asterisk (*) is placed. This is column-wise matrix index position 14.

``` [ 0 0 0 0
0 1 2 *
0 2 1 0
0 0 0 0 ]```

Your Cody challenge is to determine the state of the board once the appropriate chips have been flipped over. In this case the correct answer would be

``` [ 0 0 0 0
0 1 1 1
0 2 1 0
0 0 0 0 ]```

Example

For the inputs boardIn, side, and move

``` boardIn = ...
[ 0 0 0 0 0
0 1 1 2 2
0 2 1 1 0
0 0 2 1 0
0 0 0 0 0 ]
side = 1 (black)
move = 9 (matrix index of black's next move)```

``` boardOut = ...
[ 0 0 0 0 0
0 1 1 2 2
0 1 1 1 0
0 1 1 1 0
0 0 0 0 0 ]```

### Solution Stats

44.68% Correct | 55.32% Incorrect
Last Solution submitted on Jan 01, 2024

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!