B3615 测测你的矩阵乘法
这题无需多疑,就是模板题,我们有公式 。
然后根据公式模拟即可。
代码:
#include <cstdio>
#include <cstring>
const int n = 512, N = n;
void multiply (int c[N][N], int a[N][N], int b[N][N]) {
// c = a * b
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
for (int k = 0; k < n; k++) c[i][j] += a[i][k] * b[k][j];
}
}
}
int c[N][N], a[N][N], b[N][N];
int main() {
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
a[i][j] = (i | j) + j;
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
b[i][j] = (i & j) + i;
multiply(c, a, b);
for (int i = 0; i < n; i++) {
int sum = 0;
for (int j = 0; j < n; j++) sum ^= c[i][j];
printf("%d\n", sum);
}
}

浙公网安备 33010602011771号