Very good thinking about the adjacency matrix! Great job!

However, the issue you have uncovered is also going to be affecting our connected component code, right?

We can solve both problems right here. if we do something like 
```
dupe_graph.add_weighted_edges_from((('a' + str(x[0]), 'b' + str(x[1]), y) for (x, y) in dupes) 
```