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");
    }
}
相关推荐
谷雨不太卷2 小时前
进程的状态码
java·前端·算法
顾温2 小时前
default——C#/C++
java·c++·c#
凉茶钱3 小时前
【c语言】动态内存管理:malloc,calloc,realloc,柔性数组
c语言·c++·vscode·柔性数组
脏脏a3 小时前
【C++模版】泛型编程:代码复用的终极利器
开发语言·c++·c++模版
island13143 小时前
【C++仿Muduo库#3】Server 服务器模块实现上
服务器·开发语言·c++
散峰而望3 小时前
【算法竞赛】C/C++ 的输入输出你真的玩会了吗?
c语言·开发语言·数据结构·c++·算法·github
小龙报3 小时前
【C语言】内存里的 “数字变形记”:整数三码、大小端与浮点数存储真相
c语言·开发语言·c++·创业创新·学习方法·visual studio
躺不平的理查德3 小时前
时间复杂度与空间复杂度备忘录
数据结构·算法
yaki_ya3 小时前
yaki-C语言:从概念基础到内存解析---数组(array)完全指南
java·c语言·算法
刃神太酷啦3 小时前
扒透 STL 底层!map/set 如何封装红黑树?迭代器逻辑 + 键值限制全手撕----《Hello C++ Wrold!》(23)--(C/C++)
java·c语言·javascript·数据结构·c++·算法·leetcode