You are planning a second party (remember the first party?) for spring break.
You have a total of n friends, each of whom has given you two lists with a subset of these n friends of yours.
Each friend will attend your party if and only if everyone in their first list and no one in their second list is invited to your party.
You quickly realize that you must throw multiple parties if you want to invite every friend.
What is the most efficient algorithm you can come up with to decide if you can throw a set of parties such that each of your n friends attends a party?