Problem Statement  
Manao has a bitmap H pixels high and W pixels wide. Initially, each of the pixels is white. Manao draws several (possibly zero) horizontal and/or vertical strokes. A stroke is a line segment 1 pixel thick and 1 or more pixels long. Manao only draws horizontal strokes with red color and vertical strokes with blue. He can paint a one pixel long stroke with either red or blue color, and the stroke will be considered horizontal if red and vertical if blue. Manao never draws two horizontal or two vertical strokes that overlap. If a horizontal stroke and a vertical stroke cross, the pixel at their intersection becomes green.
You're given a String[] picture denoting the bitmap after Manao's drawing experiments. The xth character of the yth element of picture describes the color of the pixel at coordinates (x, y) of the bitmap, where (0, 0) is the pixel at the top left corner and (W1, H1) is the pixel at the bottom right corner. 'R' is red, 'G' is green, 'B' is blue and '.' is white. Return the least possible number of strokes needed to obtain the given picture.  
Definition  
 
Constraints  
  picture will contain between 1 and 50 elements, inclusive.  
  Each element of picture will be between 1 and 50 characters long, inclusive.  
  All elements of picture will have equal length.  
  Each character in picture will be 'R', 'G', 'B' or '.'.  
Examples  
0)  
 
1)  
 
2)  
 
3)  
 
4)  
 
5)  
