对于每个元素,它只能出现在三角形的左上角。从三角形的左下角开始,要么向上,要么向右,走 k 步形成一条分割线,左上是含该元素的,右下不含该元素。分割线的情况是 2k,每个元素相互独立,答案乘起来,即 2kn,用快速幂计算。
代码
1 2 3 4 5 6 7 8 9 10 11 12 13
#include<cstdio> constint MOD = 1000000007; longlongpow(longlong a, longlong n){ longlong res = 1; for (; n; n >>= 1, a = a * a % MOD) if (n & 1) res = res * a % MOD; return res; } intmain(){ int n, k; scanf("%d %d", &n, &k); printf("%lld\n", pow(2, (longlong) n * k)); return0; }