Class Solution

  • All Implemented Interfaces:

    
    public final class Solution
    
                        

    3021 - Alice and Bob Playing Flower Game.

    Medium

    Alice and Bob are playing a turn-based game on a circular field surrounded by flowers. The circle represents the field, and there are x flowers in the clockwise direction between Alice and Bob, and y flowers in the anti-clockwise direction between them.

    The game proceeds as follows:

    • Alice takes the first turn.

    • In each turn, a player must choose either the clockwise or anti-clockwise direction and pick one flower from that side.

    • At the end of the turn, if there are no flowers left at all, the current player captures their opponent and wins the game.

    Given two integers, n and m, the task is to compute the number of possible pairs (x, y) that satisfy the conditions:

    • Alice must win the game according to the described rules.

    • The number of flowers x in the clockwise direction must be in the range [1,n].

    • The number of flowers y in the anti-clockwise direction must be in the range [1,m].

    Return the number of possible pairs (x, y) that satisfy the conditions mentioned in the statement.

    Example 1:

    Input: n = 3, m = 2

    Output: 3

    Explanation: The following pairs satisfy conditions described in the statement: (1,2), (3,2), (2,1).

    Example 2:

    Input: n = 1, m = 1

    Output: 0

    Explanation: No pairs satisfy the conditions described in the statement.

    Constraints:

    • <code>1 <= n, m <= 10<sup>5</sup></code>

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
      Solution()
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      final Long flowerGame(Integer n, Integer m)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait