Certainly! Here is the test case generator for the given problem statement:

```python
import random

def tcgen():
    # Generate a random value for N in the range [1, 100]
    N = random.randint(1, 100)
    
    # Generate the 2xN grid with random values for candies in the range [1, 100]
    A = [[random.randint(1, 100) for _ in range(N)] for _ in range(2)]
    
    return N, A

# Example usage of the test case generator
if __name__ == "__main__":
    N, A = tcgen()
    print(N)
    for row in A:
        print(' '.join(map(str, row)))
```

This generator will produce a random test case for the problem, ensuring the constraints are followed:

- `N` is between 1 and 100.
- Each element in the 2xN grid is a random integer between 1 and 100.

Here's how you can interpret the generator output:

- The first printed value is `N`, the number of columns.
- The next two lines represent the rows of the grid, where each line contains `N` integers.

You can use this generator to produce various test cases for debugging or testing your solution.