LibreOJ #100.矩阵乘法
题目描述
输入格式
输出格式
样例
数据范围与提示
题目分析
注意题目里面的数全是正整数,故最终答案也是正整数
AC代码
#include<iostream> using namespace std; const long long MOD = 1e9 + 7; const int MAXN = (int)5e2 + 10; long long a[MAXN][MAXN], b[MAXN][MAXN],res[MAXN][MAXN]; int n, p, m; void solve(){ for (int i = 0; i < n; i++){ for (int j = 0; j < m; j++){ res[i][j] = 0; for (int k = 0; k < p; k++) res[i][j] += a[i][k] * b[k][j] % MOD; long long ans = res[i][j] % MOD; if (ans < 0) ans += MOD; cout << ans << ' '; } cout << endl; } } int main() { ios::sync_with_stdio(false); cin >> n >> p >> m; for (int i = 0; i < n; i++) for (int j = 0; j < p; j++) cin >> a[i][j]; for (int i = 0; i < p; i++) for (int j = 0; j < m; j++) cin >> b[i][j]; solve(); return 0; }
题解效率


浙公网安备 33010602011771号