CCF-CSP 30次 第二题【矩阵运算】

计算机软件能力认证考试系统

复制代码
#include<bits/stdc++.h>
using namespace std;
const int N=1e4+10;
#define int long long
int n,d;
int q[N][22],k[22][N],v[N][22],w[N];
int ans1[N][22],ans2[N][22];
signed main()
{
    scanf("%lld %lld",&n,&d);
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=d;j++)
        {
            scanf("%lld",&q[i][j]);
        }
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=d;j++)
        {
            scanf("%lld",&k[j][i]);
        }
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=d;j++)
        {
            scanf("%lld",&v[i][j]);
        }
    }
    for(int i=1;i<=n;i++)
    {
        scanf("%lld",&w[i]);
    }
    for(int i=1;i<=d;i++)
    {
        for(int j=1;j<=d;j++)
        {
            for(int idx=1;idx<=n;idx++)
            {
                ans1[i][j]+=k[i][idx]*v[idx][j];
            }
        }
    }
//    for(int i=1;i<=n;i++)
//    {
//        for(int j=1;j<=n;j++)
//        {
//            printf("%lld ",ans1[i][j]);
//        }
//        printf("\n");
//    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=d;j++)
        {
            for(int idx=1;idx<=d;idx++)
            {
                ans2[i][j]+=q[i][idx]*ans1[idx][j];
            }
        }
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=d;j++)
        {
            printf("%lld ",w[i]*ans2[i][j]);
        }
        printf("\n");
    }
}
相关推荐
2301_8035545221 分钟前
C++联合体(Union)详解:与结构体的区别、联系与深度解析
java·c++·算法
pu_taoc23 分钟前
深入剖析:基于epoll与主从Reactor模型的高性能服务器设计与实现
服务器·c语言·c++·vscode
初圣魔门首席弟子34 分钟前
c++ bug 函数定义和声明不一致导致出bug
开发语言·c++·bug
sali-tec1 小时前
C# 基于halcon的视觉工作流-章42-手动识别文本
开发语言·人工智能·算法·计算机视觉·c#·ocr
bkspiderx1 小时前
C++设计模式之行为型模式:中介者模式(Mediator)
c++·设计模式·中介者模式
SandySY2 小时前
品三国谈人性
算法·架构
敢敢J的憨憨L2 小时前
GPTL(General Purpose Timing Library)使用教程
java·服务器·前端·c++·轻量级计时工具库
小欣加油2 小时前
leetcode 62 不同路径
c++·算法·leetcode·职场和发展
夏鹏今天学习了吗2 小时前
【LeetCode热题100(38/100)】翻转二叉树
算法·leetcode·职场和发展
夏鹏今天学习了吗2 小时前
【LeetCode热题100(36/100)】二叉树的中序遍历
算法·leetcode·职场和发展