1# Runtime: 2982 ms (Top 22.53%) | Memory: 27.5 MB (Top 95.77%)2class Solution:3def stoneGameIX(self, stones: List[int]) -> bool:4u, d, t = 0, 0, 05for stone in stones:6if stone % 3 == 1:7u += 18elif stone % 3 == 2:9d += 110else:11t += 112if not u and d <= 2 or u <= 2 and not d: # situation 1 part 213return False14if not u and d > 2 or u > 2 and not d: # situation 1 part 115if not t % 2:16return False17else:18return True19if u == d or abs(u - d) <= 2: # situation 2 and situation 320if t % 2:21return False22else:23return True24return True # default situation