Cody

# Problem 1133. Go-style solver

Solution 1996730

Submitted on 30 Oct 2019 by Sofya Belov
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

### Test Suite

Test Status Code Input and Output
1   Pass
board=[1 0 0 1; 0 0 0 1; 0 0 1 0]; y_correct=6; assert(isequal(taking_liberties(board),y_correct))

board = 1 2 0 1 0 0 0 1 0 0 1 0 board = 1 2 0 1 2 0 0 1 0 0 1 0 board = 1 2 2 1 2 0 0 1 0 0 1 0 board = 1 2 2 1 2 0 2 1 0 0 1 0 board = 1 2 2 1 2 0 2 1 0 0 1 2 board = 1 2 2 1 2 0 2 1 0 2 1 2 number_of_pieces = 1 number_of_pieces = 2 number_of_pieces = 3 number_of_pieces = 4 number_of_pieces = 5 number_of_pieces = 6

2   Pass
board=eye(7); y_correct=12; assert(isequal(taking_liberties(board),y_correct))

board = 1 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 board = 1 2 0 0 0 0 0 2 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 board = 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 board = 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 2 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 board = 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 board = 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 2 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 board = 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 board = 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 2 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 board = 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 board = 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 2 1 0 0 0 0 0 0 0 1 board = 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 0 1 board = 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 2 1 2 0 0 0 0 0 2 1 number_of_pieces = 1 number_of_pieces = 2 number_of_pieces = 3 number_of_pieces = 4 number_of_pieces = 5 number_of_pieces = 6 number_of_pieces = 7 number_of_pieces = 8 number_of_pieces = 9 number_of_pieces = 10 number_of_pieces = 11 number_of_pieces = 12

3   Pass
board=double(magic(4)>12); y_correct=8; assert(isequal(taking_liberties(board),y_correct))

board = 1 2 0 1 0 0 0 0 0 0 0 0 0 1 1 0 board = 1 2 0 1 2 0 0 0 0 0 0 0 0 1 1 0 board = 1 2 2 1 2 0 0 0 0 0 0 0 0 1 1 0 board = 1 2 2 1 2 0 0 2 0 0 0 0 0 1 1 0 board = 1 2 2 1 2 0 0 2 0 0 0 0 2 1 1 0 board = 1 2 2 1 2 0 0 2 0 2 0 0 2 1 1 0 board = 1 2 2 1 2 0 0 2 0 2 0 0 2 1 1 2 board = 1 2 2 1 2 0 0 2 0 2 2 0 2 1 1 2 number_of_pieces = 1 number_of_pieces = 2 number_of_pieces = 3 number_of_pieces = 4 number_of_pieces = 5 number_of_pieces = 6 number_of_pieces = 7 number_of_pieces = 8

4   Pass
board=double(hadamard(8)<0); y_correct=29; assert(isequal(taking_liberties(board),y_correct))

board = 0 0 0 0 0 0 0 0 0 1 2 1 0 1 0 1 0 0 1 1 0 0 1 1 0 1 1 0 0 1 1 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 board = 0 0 0 0 0 0 0 0 2 1 2 1 0 1 0 1 0 0 1 1 0 0 1 1 0 1 1 0 0 1 1 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 board = 0 0 0 0 0 0 0 0 2 1 2 1 0 1 0 1 0 2 1 1 0 0 1 1 0 1 1 0 0 1 1 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 board = 0 2 0 0 0 0 0 0 2 1 2 1 0 1 0 1 0 2 1 1 0 0 1 1 0 1 1 0 0 1 1 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 board = 0 2 0 0 0 0 0 0 2 1 2 1 2 1 0 1 0 2 1 1 0 0 1 1 0 1 1 0 0 1 1 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 board = 0 2 0 2 0 0 0 0 2 1 2 1 2 1 0 1 0 2 1 1 0 0 1 1 0 1 1 0 0 1 1 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 board = 0 2 0 2 0 0 0 0 2 1 2 1 2 1 2 1 0 2 1 1 0 0 1 1 0 1 1 0 0 1 1 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 board = 0 2 0 2 0 0 0 0 2 1 2 1 2 1 2 1 0 2 1 1 0 2 1 1 0 1 1 0 0 1 1 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 board = 0 2 0 2 0 2 0 0 2 1 2 1 2 1 2 1 0 2 1 1 0 2 1 1 0 1 1 0 0 1 1 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 board = 0 2 0 2 0 2 0 2 2 1 2 1 2 1 2 1 0 2 1 1 0 2 1 1 0 1 1 0 0 1 1 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 board = 0 2 0 2 0 2 0 2 2 1 2 1 2 1 2 1 0 2 1 1 2 2 1 1 0 1 1 0 0 1 1 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 board = 0 2 0 2 0 2 0 2 2 1 2 1 2 1 2 1 0 2 1 1 2 2 1 1 0 1 1 2 0 1 1 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 board = 0 2 0 2 0 2 0 2 2 1 2 1 2 1 2 1 0 2 1 1 2 2 1 1 0 1 1 2 0 1 1 2 0 0 0 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 board = 0 2 0 2 0 2 0 2 2 1 2 1 2 1 2 1 0 2 1 1 2 2 1 1 2 1 1 2 0 1 1 2 0 0 0 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 board = 0 2 0 2 0 2 0 2 2 1 2 1 2 1 2 1 0 2 1 1 2 2 1 1 2 1 1 2 0 1 1 2 0 2 0 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 board = 0 2 0 2 0 2 0 2 2 1 2 1 2 1 2 1 0 2 1 1 2 2 1 1 2 1 1 2 0 1 1 2 0 2 2 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 board = 0 2 0 2 0 2 0 2 2 1 2 1 2 1 2 1 0 2 1 1 2 2 1 1 2 1 1 2 2 1 1 2 0 2 2 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 board = 0 2 0 2 0 2 0 2 2 1 2 1 2 1 2 1 0 2 1 1 2 2 1 1 2 1 1 2 2 1 1 2 0 2 2 2 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 board = 0 2 0 2 0 2 0 2 2 1 2 1 2 1 2 1 0 2 1 1 2 2 1 1 2 1 1 2 2 1 1 2 0 2 2 2 1 1 1 1 0 1 0 1 1 2 1 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 board = 0 2 0 2 0 2 0 2 2 1 2 1 2 1 2 1 0 2 1 1 2 2 1 1 2 1 1 2 2 1 1 2 0 2 2 2 1 1 1 1 0 1 0 1 1 2 1 2 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 board = 0 2 0 2 0 2 0 2 2 1 2 1 2 1 2 1 0 2 1 1 2 2 1 1 2 1 1 2 2 1 1 2 0 2 2 2 1 1 1 1 0 1 2 1 1 2 1 2 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 board = 0 2 0 2 0 2 0 2 2 1 2 1 2 1 2 1 0 2 1 1 2 2 1 1 2 1 1 2 2 1 1 2 0 2 2 2 1 1 1 1 2 1 2 1 1 2 1 2 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 board = 0 2 0 2 0 2 0 2 2 1 2 1 2 1 2 1 0 2 1 1 2 2 1 1 2 1 1 2 2 1 1 2 0 2 2 2 1 1 1 1 2 1 2 1 1 2 1 2 0 2 1 1 1 1 0 0 0 1 1 0 1 0 0 1 board = 0 2 0 2 0 2 0 2 2 1 2 1 2 1 2 1 0 2 1 1 2 2 1 1 2 1 1 2 2 1 1 2 0 2 2 2 1 1 1 1 2 1 2 1 1 2 1 2 0 2 1 1 1 1 2 0 0 1 1 0 1 0 0 1 board = 0 2 0 2 0 2 0 2 2 1 2 1 2 1 2 1 0 2 1 1 2 2 1 1 2 1 1 2 2 1 1 2 0 2 2 2 1 1 1 1 2 1 2 1 1 2 1 2 0 2 1 1 ...

5   Pass
board=ones(4); y_correct=0; assert(isequal(taking_liberties(board),y_correct))

6   Pass
board=vertcat(eye(5),[1 0 1 0 1]); y_correct=12; assert(isequal(taking_liberties(board),y_correct))

board = 1 2 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 1 board = 1 2 0 0 0 2 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 1 board = 1 2 0 0 0 2 1 2 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 1 board = 1 2 0 0 0 2 1 2 0 0 0 2 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 1 board = 1 2 0 0 0 2 1 2 0 0 0 2 1 2 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 1 board = 1 2 0 0 0 2 1 2 0 0 0 2 1 2 0 0 0 2 1 0 0 0 0 0 1 1 0 1 0 1 board = 1 2 0 0 0 2 1 2 0 0 0 2 1 2 0 0 0 2 1 2 0 0 0 0 1 1 0 1 0 1 board = 1 2 0 0 0 2 1 2 0 0 0 2 1 2 0 0 0 2 1 2 0 0 0 2 1 1 0 1 0 1 board = 1 2 0 0 0 2 1 2 0 0 0 2 1 2 0 0 0 2 1 2 0 0 0 2 1 1 2 1 0 1 board = 1 2 0 0 0 2 1 2 0 0 0 2 1 2 0 0 0 2 1 2 2 0 0 2 1 1 2 1 0 1 board = 1 2 0 0 0 2 1 2 0 0 0 2 1 2 0 0 0 2 1 2 2 0 0 2 1 1 2 1 2 1 board = 1 2 0 0 0 2 1 2 0 0 0 2 1 2 0 0 0 2 1 2 2 0 2 2 1 1 2 1 2 1 number_of_pieces = 1 number_of_pieces = 2 number_of_pieces = 3 number_of_pieces = 4 number_of_pieces = 5 number_of_pieces = 6 number_of_pieces = 7 number_of_pieces = 8 number_of_pieces = 9 number_of_pieces = 10 number_of_pieces = 11 number_of_pieces = 12