Added key code part 1. Can take an arbitrary number of keys and ensure there is an possible order the keys can be collected so every room can be reached.