Problem Statement  
An undirected graph is defined as a set of vertices with undirected edges connecting some of the pairs of vertices. You will be given such a graph as a String[] where character j of element i is a '1' if and only if vertices i and j are connected. Such a graph has as many vertices in it as there are elements in the String[]. Your task is to assign an integer between 1 and the total number of vertices, inclusive, to each of these vertices. You may not assign the same integer to multiple vertices. Your goal is to assign these integers such that vertices which are connected have integers which are close to each other numerically. More specifically, let max be the maximum difference between the two integers assigned to any two connected vertices. You want to assign the integers to the vertices such that max is minimized. You should return that minimum max.  
Definition  
 
Constraints  
  graph will contain between 2 and 9 elements, inclusive.  
  Each element of graph will contain as many characters as graph has elements.  
  Each character in graph will be '0' or '1'.  
  Character j of element i of graph will be the same as character i of element j for all i and j.  
  Character i of element i of graph will be '0' for all i.  
  At least one character in graph will be '1'.  
Examples  
0)  
 
1)  
 
2)  
 
3)  
