Problem 1698. Connect Four: find winning move
Inspired by this problem...
Connect Four is a fun two-player game in which the goal is to be the first player to connect four pieces in a row - horizontally, vertically, or diagonally. Players take turns dropping one of their pieces into any of the available columns.
Problem Statement
Given an array (size is arbitrary) in which
- 0 : space is empty
- 1 : player 1 piece
- 2 : player 2 piece
return the column that player 1 should play in to win the game. If there is more than one winning move, return a row vector of appropriate columns. If there are currently no winning moves, return [].
Assumptions
- Pieces fall to the bottommost available row in each column, as in the real game
- The input grid will always represent a valid game state
Example
If
b = [0 0 0 0 0 0 0; 0 0 0 0 0 0 0; 0 0 0 2 0 0 0; 0 0 0 1 0 0 0; 0 0 0 2 2 0 0; 0 0 2 1 1 1 0];
then
y = 7
Solution Stats
Problem Comments
Solution Comments
Show commentsProblem Recent Solvers28
Suggested Problems
-
9936 Solvers
-
Omit columns averages from a matrix
581 Solvers
-
52 Solvers
-
Remove the two elements next to NaN value
646 Solvers
-
9153 Solvers
More from this Author44
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!