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");
    }
}
相关推荐
M78佐菲1 小时前
c语言学习笔记:排序与查找方法整理
linux·c语言·笔记·学习·算法
别动我齐刘海1 小时前
机器人运动控制学习4——状态估计 State Estimation
c++·人工智能·学习·目标检测·机器学习·机器人·自动驾驶
学习星球1 小时前
OpenHarness 全面配置教学——从游戏开发工作流引入
c++·游戏·ai·ai编程
wWYy.2 小时前
C++与C的区别
c语言·c++
AI备案指南-满满3 小时前
人工智能拟人化互动服务安全自评估报告的评估要点有哪些?
人工智能·算法·安全·机器人·大模型备案·算法备案
LuminousCPP3 小时前
数据结构‑二叉树(二):二叉堆从零实现|Heap结构设计 + 建堆优化 + 堆排序深度解析
c语言·数据结构·笔记·二叉树
土司大王4 小时前
LeetCode hot100——两两交换链表中的节点
算法·leetcode·职场和发展
5 小时前
数据结构第一课:复杂度解析
数据结构
大熊背5 小时前
树莓派IspPipeline LSC模块原理详解
算法·lsc·isppipeline·mesh lsc