pub fn solve(problem: &SetCoverProblem) -> Result<SetCoverSolution>
Solve set cover using greedy algorithm