hiho一下第238周《矩阵填数》题目分析

1
0

《矩阵填数》题目分析

本题是一道数学题。

题目中3xN的矩阵实际上是杨氏矩阵的特例。而对于杨氏矩阵填法的方案数有勾子公式:

具体可以参考 维基百科

此外,计算过程中模P的除法可以转化成 乘法逆元 来计算。

2 answer(s)

1

include

include

using namespace std; typedef long long ll; const int mod = 1e9 + 7; ll gcd(ll a, ll b, ll &x, ll &y) { if (b == 0) { x = 1, y = 0; return a; } ll q = gcd(b, a%b, y, x); y -= a / b * x; return q; } ll reverse(int v) { ll x, y; ll g = gcd(v, mod, x, y); return x; } int main() { int n, m; cin >> n >> m; ll s = 1; for (int i = 1; i <= n * m; i++) { s *= i; s %= mod; } for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { int hook = n - i + m - j-1; int r = reverse(hook); s *= r; s %= mod; } } s = (s + mod) % mod; cout << s << endl; return 0; }

2

erqqwer

write answer 切换为英文 切换为中文


转发分享