B3615 测测你的矩阵乘法

这题无需多疑,就是模板题,我们有公式 cij=k=1n(aik×bkj)c_{i_j}=\sum_{k=1}^n (a_{i_k} \times b_{k_j})

然后根据公式模拟即可。

代码:

#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);
    }
}
posted @   HappyBobb  阅读(4)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示