#P5363. [SDOI2019] 移动金币

    ID: 4332 Type: RemoteJudge 1000ms 500MiB Tried: 0 Accepted: 0 Difficulty: 6 Uploaded By: Tags>2019各省省选山东O2优化

[SDOI2019] 移动金币

题目描述

Alice和Bob将要进行如下的一场游戏。二人轮流操作,且Alice先行。 当轮到一个玩家的时候,他可以选择一枚金币,并将其向左移动任意多格,且至少移动一格。 金币不能被移出棋盘,也不能越过其它金币。

一个 1×n1\times n 的棋盘上最初摆放有 mm 枚金币。其中每一枚金币占据了一个独立的格子,任意一个格子内最多只有一枚金币。

如果轮到一个玩家的时候他已经无法做出任何有效操作了(显然这个时候mm枚金币恰好落在最左侧的mm个格子中),则被判定为输家。已经知道Alice和Bob都是极致聪明的人,他们在任何局面下总能做出最优的操作。那么有多少初始状态能保证Alice必胜呢?

输入格式

输入仅有一行并包含两个正整数,依次为nnmm,如题目所述。

输出格式

输出一个整数,表示有多少初始状态可以保证Alice作为先手方能先手必胜。由于答案可能很大,请输出关于109+910^9+9取模后的值。

10 3
100
199 43
981535230
99999 47
39178973

提示

子任务11:(5050分)1n2501\le n\le 2501m501\le m\le 50

子任务22:(5050分)1n1500001\le n\le 1500001m501\le m\le 50