# 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:

### Solution Stats

42.86% Correct | 57.14% Incorrect
Last Solution submitted on Feb 23, 2023

### Community Treasure Hunt

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

Start Hunting!