Problem 47468. Slitherlink III: Evolve
This challenge is to solve Slitherlink pencil puzzles. An essential starter guide is Slitherlink Techniques. An s matrix with values from 0:5 is provided. An s of 5 means this locations edges are not provided and may be from 0:3. The player will be given the s, c, and initial p matrices. The c matrix is clarified for the creation of the solution path of nodes as given in c. The p matrix is a [numel,numel] matrix of c indices where p(x,y)=1 is a possible node connection. p(1,2)=1 as well as example's p(1,5)=1. Additional details of p are provided in the function template. Function template also includes visualization code.
This Slitherlink III: Evolve is for the cases where s is not solved using only the Gimmes from Slitherlink Starting Techniques but requires additional Evolving that is always valid for a valid input. Evolve examples are a Red bar into a corner must continue that Red bar out of the corner, an s=1 cell with a Red bar must have Black bars on its other 3 edges. Cases of Trivial and Gimmes should be solved prior to invoking Evolve. The Evolve subroutine is the most critical routine and must be very comprehensive. A general Evolve routine should check if the output State is valid. When Evolve is used within a recursive routine that asserts possibly incorrect content the Evolve may produce an invalid output for the invalid input.
Input: s, matrix of edge counts of the unique solution path; (c,p,bsegs,emap,pmap) are provided but not required
Output: sv, a vector of path nodes where sv(1)=sv(end). These nodes correspond to values in the c matrix example.
Example:
%[1 5 9 13 17 % c matrix [3 1 1 2; % s matrix [1 2 6 7 8 12 16 20 19 18 17 13 9 5 1] % sv
% 2 6 10 14 18 %path nodes 2 1 0 1; %qty edges % sv matrix is vector of nodes generating the
% 3 7 11 15 19 % corners 1 2 1 2] %adjacent % Red Line path
% 4 8 12 16 20] %to path
Related Challenges:![](data:image/png;base64,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)
Slitherlink I: Trivial, Slitherlink II: Gimmes, Slitherlink IV: Recursive (medium), Slitherlink V: Assert/Evolve/Check (large)
Solution Stats
Solution Comments
Show commentsProblem Recent Solvers1
Suggested Problems
-
Generate N equally spaced intervals between -L and L
879 Solvers
-
73 Solvers
-
String Array Basics, Part 2: Convert String Array to Cell Array; No Missing Values
140 Solvers
-
358 Solvers
-
Counting the occurrences of a digit in a book
16 Solvers
More from this Author308
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!