title: Cormen Wrestler's rivalry BFS
body: <p>In Cormen question 22.2.6 we have the wrestler problem. Where it says there are N wrestler i.e N  nodes and r pairs to rivalry i.e. edges and we need to divide the wrestler into good and bad guys such that no 2 good guys are rivals.</p>
  
  <p>Solution given is</p>
  
  <p>Perform as many BFSs as needed to visit all vertices. Assign all wrestlers whose
  distance is even to be good guys and all wrestlers whose distance is odd to be bad
  guys. Then check each edge to verify that it goes between a good guy and a bad
  guy. This solution would take O(n + r ) time for the BFS, O(n) time to designate
  each wrestler as a good guy or bad guy, and O(r ) time to check edges, which is
  O(n + r ) time overall.</p>
  
  <p>I have few questions about solution</p>
  
  <p>Perform as many BFSs as needed to visit all vertices. -> Starting with different nodes each time? But they will give us the same spanning tree every time?</p>
  
  <p>What about the nodes which are not reachable from BFS</p>