P923
projecteuler.net

Young's Game B

ℹ️Published on Saturday, 21st December 2024, 04:00 pm; Solved by 91;
Difficulty rating: 85% (Not yet finalised)

A Young diagram is a finite collection of (equally-sized) squares in a grid-like arrangement of rows and columns, such that

  • the left-most squares of all rows are aligned vertically;
  • the top squares of all columns are aligned horizontally;
  • the rows are non-increasing in size as we move top to bottom;
  • the columns are non-increasing in size as we move left to right.

Two examples of Young diagrams are shown below.

0922_youngs_game_diagrams.png

Two players Right and Down play a game on several Young diagrams, all disconnected from each other. Initially, a token is placed in the top-left square of each diagram. Then they take alternating turns, starting with Right. On Right's turn, Right selects a token on one diagram and moves it one square to the right. On Down's turn, Down selects a token on one diagram and moves it one square downwards. A player unable to make a legal move on their turn loses the game.

For $a,b,k\geq 1$ we define an $(a,b,k)$-staircase to be the Young diagram where the bottom-right frontier consists of $k$ steps of vertical height $a$ and horizontal length $b$. Shown below are four examples of staircases with $(a,b,k)$ respectively $(1,1,4),$ $(5,1,1),$ $(3,3,2),$ $(2,4,3)$.

0922_youngs_game_staircases.png

Additionally, define the weight of an $(a,b,k)$-staircase to be $a+b+k$.

Let $S(m, w)$ be the number ways of choosing $m$ staircases, each having weight not exceeding $w$, upon which Right (moving first in the game) will win the game assuming optimal play. Different orderings of the same set of staircases are to be counted separately.

For example, $S(2, 4)=7$ is illustrated below, with tokens as grey circles drawn in their initial positions.

0922_youngs_game_example.png

You are also given $S(3, 9)=315319$.

Find $S(8, 64)$ giving your answer modulo $10^9+7$.



Soluzione

Last modified: May 01, 2025. Website built with Franklin.jl and the lovely Julia programming language.