Split people into teams

Write codeMedium25 minMeta and Google style

Your task

You manage n people labeled 1..n and must split them into two teams. You're given a list of dislike pairs [a, b] meaning a and b refuse to be on the same team. Return True if such a split is possible (every disliking pair ends up on different teams), otherwise False. The graph may be disconnected and a person may have no dislikes. There are at most 2000 people.

Examples

possible_split(n: int, dislikes: list[list[int]]) -> bool
Example 1
Inputpossible_split(4, [[1, 2], [1, 3], [2, 4]])
OutputTrue