Loading collection data...
Collections are a way for you to organize kata so that you can create your own training routines. Every collection you create is public and automatically sharable with other warriors. After you have added a few kata to a collection you and others can train on the kata contained within the collection.
Get started now by creating a new collection.
Of course I can't find an example of failure, your interpretation of the conditions was very correct.
It's great, I think it's fantastic that you work at bit level.
I used detection of zero as a shortcut to get out of the routine, but you saved lines.
On the other hand I had to check that << -1 actually works, I always expected that offset would have to be a positive quantity. I learned something new for me.
can give me sample of test case where this return wrong result? thanks
(hint 1: board[i][j] is uint. what is the value of board[i][j]-1 ? is it equal to -1, or is it equal to something else?)
(hint 2: try to run this code first, edit it and try to print the value of x |= 1 << (board[i][j]-1) to stdout);
board is unsigned int. what happened when unsigned int 0 minus by one?
hint: x|=1 << (board[row][col] -1); is not shifting left by -1. it's something else
Interesting board[i][j] = 0
x |= 1 << (board[i][j] - 1);
x |= 1 << ( - 1);
x |= 0
so nothing happen, 0 is ignored. It's great, maybe unplanned but great. The board fails due any digit missing
x |= 1 << (board[row][col] - 1);
when board[row][col] == 0 you are shifting left by -1. This is UB