Bipartite Graphs and Problem Solving