Cody

Problem 1180. Knights and Knaves (part 2)

Solution 2327953

Submitted on 21 May 2020
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   Fail
A=[true true false false true false true]; g=inline('logical(interp1([0,1],[0,x],1))','x','A'); f=arrayfun(@(x)@(str)xor(~x,g(eval(str),A)),A,'uni',0); clear g A; assert(isequal(solver(f),false))

Error in solution: Line: 2 Column: 44 Invalid expression. When calling a function or indexing a variable, use parentheses. Otherwise, check for mismatched delimiters.

2   Fail
A=[false true false true false]; g=inline('logical(interp1([0,1],[0,x],1))','x','A'); f=arrayfun(@(x)@(str)xor(~x,g(eval(str),A)),A,'uni',0); clear g A; assert(isequal(solver(f),true))

Error in solution: Line: 2 Column: 44 Invalid expression. When calling a function or indexing a variable, use parentheses. Otherwise, check for mismatched delimiters.

3   Fail
A=[false false true true true]; g=inline('logical(interp1([0,1],[0,x],1))','x','A'); f=arrayfun(@(x)@(str)xor(~x,g(eval(str),A)),A,'uni',0); clear g A; assert(isequal(solver(f),false))

Error in solution: Line: 2 Column: 44 Invalid expression. When calling a function or indexing a variable, use parentheses. Otherwise, check for mismatched delimiters.

4   Fail
A=[true false false true false false true true true]; g=inline('logical(interp1([0,1],[0,x],1))','x','A'); f=arrayfun(@(x)@(str)xor(~x,g(eval(str),A)),A,'uni',0); clear g A; assert(isequal(solver(f),false))

Error in solution: Line: 2 Column: 44 Invalid expression. When calling a function or indexing a variable, use parentheses. Otherwise, check for mismatched delimiters.

5   Fail
A=rand(1,99)<.5; g=inline('logical(interp1([0,1],[0,x],1))','x','A'); f=arrayfun(@(x)@(str)xor(~x,g(eval(str),A)),A,'uni',0); assert(isequal(solver(f),mean(A)<.5))

Error in solution: Line: 2 Column: 44 Invalid expression. When calling a function or indexing a variable, use parentheses. Otherwise, check for mismatched delimiters.

6   Fail
A=rand(1,99)<.5; g=inline('logical(interp1([0,1],[0,x],1))','x','A'); f=arrayfun(@(x)@(str)xor(~x,g(eval(str),A)),A,'uni',0); assert(isequal(solver(f),mean(A)<.5))

Error in solution: Line: 2 Column: 44 Invalid expression. When calling a function or indexing a variable, use parentheses. Otherwise, check for mismatched delimiters.

7   Fail
A=rand(1,99)<.5; g=inline('logical(interp1([0,1],[0,x],1))','x','A'); f=arrayfun(@(x)@(str)xor(~x,g(eval(str),A)),A,'uni',0); assert(isequal(solver(f),mean(A)<.5))

Error in solution: Line: 2 Column: 44 Invalid expression. When calling a function or indexing a variable, use parentheses. Otherwise, check for mismatched delimiters.

8   Fail
A=rand(1,99)<.5; g=inline('logical(interp1([0,1],[0,x],1))','x','A'); f=arrayfun(@(x)@(str)xor(~x,g(eval(str),A)),A,'uni',0); assert(isequal(solver(f),mean(A)<.5))

Error in solution: Line: 2 Column: 44 Invalid expression. When calling a function or indexing a variable, use parentheses. Otherwise, check for mismatched delimiters.

Suggested Problems

More from this Author38

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!