import itertools


def check_all_nodes_covered(G, solution_set):
    """
    Checks if all nodes are covered by the solution set.
    
    Args:
        G - directed graph of road network.
        solution_set - current solution set (list of routes)
        
    Returns: Boolean, node not covered.
    """
    
    # List of nodes
    nodes_in_graph = list(G.nodes())
    
    # Nodes in solution_set
    edges_in_solution_set = [x for l in solution_set for x in l]
    nodes_in_solution_set = list(set(itertools.chain.from_iterable(edges_in_solution_set)))
    
    # Check for completeness
    for node in nodes_in_graph:
        if node not in nodes_in_solution_set:
            return False, [node]
    
    return True, []