This question evaluates understanding of game-state management, data structure choices for efficient move handling, input validation, winner-detection logic across horizontal/vertical/diagonal lines, and the ability to analyze per-move time and space complexity within the Coding & Algorithms domain.
Design and implement a Connect Four game engine. Support a configurable board size (default 6x 7), a drop(column) operation that places a disc obeying gravity, and winner detection after each move for horizontal, vertical, and diagonal lines of four. Handle invalid inputs and full columns, return the current game state (in-progress, win for player A/B, or draw), and discuss time and space complexity per move as well as test strategies.