首先,这一题很显然是一个 Dp。
考虑如何转移状态,因为一开始的坐标是 \((0,0)\)。
发现最后的坐标是 \((A\times i + C \times j + E \times k,B\times i + D \times j + F \times k)\)。如果是统计最后的种类的话,那么就比较简单,枚举 \(i\),\(j\) 和 \(k\)。但是题目要求的是方案数,所以我们可以用一个三维 Dp,转移一下 \(i\),\(j\) 和 \(k\) 时的方案数,很容易想,可以从 \(i-1\),\(j-1\) 和 \(k-1\) 分别转移。所以后面枚举 \(i\),\(j\) 和 \(k\) 只需要累加其 Dp 状态即可。
不可行的方案用 map 存储特判掉即可。
上代码: