For the game of Tic Tac Toe we will be storing the state of the game in a matrix M.
For this game:
We would store the state as this:
-1 1 1 1 -1 -1 1 -1 -1
If there were any blanks squares, they would be 0;
For this challenge, X goes first. Neither side is compelled to take a win if possible. The game stops when either player wins.
For this challenge, is the the given board state 0: legal 1: this state can not occur in a game
The example in the image would return 0 because if X goes first there can never be more O than X. The state matrix will only hold [-1 0 1], so we are only checking for logic of the game.
Sorry for my english... but i can not understand why the test 6 has y_correct=0. I think that my problem is in understanding the problem description.
In test 6, player 2 (-1) wins but player 1 (1) continues to play.
I would miss illegal x=[1 -1 -1;0 1 -1;0 0 1].
It's difficult to say something about x=[1 -1 -1;0 1 -1;1 0 1].
Did X win after missing a win or did X continue to play after a win ?
Technically it's a legal state no ?
@Jean-Marie Sainthillier: If we'd number the nine cells of the grid as [1,4,7; 2,5,8; 3,6,9], then a series of moves that would lead to x = [1,-1,-1; 0,1,-1; 1,0,1] without "insensible" moves for X (the commencing party) would be: X:5, O:7, X:3, O:8, X:9, O:4, X:1 ; in that case, X did not miss a win nor continue to play after a win.
So it is controversial situation. I mean it is pretty legal situation
h
Now this is elegant!
It seems to me that this solution unintentionally messed up its last code line and got lucky with the test suite, because this solution would not correctly identify x = [1,0,0; 0,0,0; 0,0,0] or x = [-1,-1,-1; 1,1,0; 1,0,0] as valid Tic-Tac-Toe states. Unless your very purpose was to actually expose/exploit this "shortcoming" in the test suite, of course! :-)
Thanks for your comment. I was confused by the original problem description such as "state 0: legal 1: this state", where the extra colons seem to be misleading. After some digging, I have figured out the rationale of Tic-Tac-Toe, and thus, updated my solutions.
Thanks for your reply, Peng Liu. I'll admit, I too was (and still am) confused by the "state 0: legal 1: this state" sentence in the problem description. Luckily I was already familiar with the Tic-Tac-Toe game.
Hi, yurenchu & Peng Liu. I agree the punctuation and syntax are very confusing, and indeed misleading. As written it seems to define 0 as representing legal states — which, besides being unusual (although possible), is contrary to the Test Suite and the example above. A clearer way to state the sentence may be: "For this challenge please categorise the given board state as either 1 = legal state, or 0 = illegal state (cannot occur in a game)."
Not a proper solution; it would incorrectly identify x = [1 1 1; -1 -1 -1; 1 0 0] as a valid state.
Ignore my previous comment; I was mistaken when I wrote that (and apparently I can't delete it).
The bug with deleting comments on problems or solutions appears to be longstanding. See https://au.mathworks.com/matlabcentral/cody/problems/43708
Thanks for the link, David Verrelli. I seem to remember that the "Delete" button did work in the not-too-distant-past (a few months ago), but maybe I'm misremembering things. However, to be honest, I don't mind this bug as much because I think it's a good thing that a comment can't be deleted when it has already received replies; otherwise a thread of comments would become unreadable. It's only when an erroneous comment of mine hasn't received any replies yet and the "Delete" button turns out to be non-functional that I experience a slight "Aaargghh!" moment, because the presence of the "Delete" button created different expectations. :-) But I don't really mind leaving my erroneous comment up and correcting myself in a new comment, as I did above.
Yurenchu, I agree that if a comment has received replies it's generally best not to delete it.
Create a Multiplication table matrix...
226 Solvers
Determine the number of odd integers in a vector
321 Solvers
324 Solvers
129 Solvers
467 Solvers