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 Solvers24
Suggested Problems
-
Project Euler: Problem 5, Smallest multiple
1253 Solvers
-
Compress strings (not springs)
200 Solvers
-
Construct an index vector from two input vectors in vectorized fashion
373 Solvers
-
198 Solvers
-
Calculate Amount of Cake Frosting
22336 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!