华为机试题---矩阵乘法

简介: 华为机试题---矩阵乘法

题目描述

如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。这个矩阵的每个元素是由下面的公式决定的

输入描述:

输入包含多组数据,每组数据包含:

第一行包含一个正整数x,代表第一个矩阵的行数

第二行包含一个正整数y,代表第一个矩阵的列数和第二个矩阵的行数

第三行包含一个正整数z,代表第二个矩阵的列数

之后x行,每行y个整数,代表第一个矩阵的值

之后y行,每行z个整数,代表第二个矩阵的值

输出描述:

对于每组输入数据,输出x行,每行z个整数,代表两个矩阵相乘的结果

示例1

输入

2

3

2

1 2 3

3 2 1

1 2

2 1

3 3

输出

14 13

10 11

#include <iostream>
#include <vector>
using namespace std;
int main()
{
  int x, y, z;
  while (cin >> x >> y >> z)
  {
    vector<vector<int>> v1;
    vector<vector<int>> v2;
    for (int i = 0; i < x; i++)
    {
      vector<int> vTemp;
      for (int j = 0; j < y; j++)
      {
        int t = 0;
        cin >> t;
        vTemp.push_back(t);
      }
      v1.push_back(vTemp);
    }
    for (int i = 0; i < y; i++)
    {
      vector<int> vTemp;
      for (int j = 0; j < z; j++)
      {
        int t = 0;
        cin >> t;
        vTemp.push_back(t);
      }
      v2.push_back(vTemp);
    }
    int retBuf[100][100] = { 0 };
    for (int i = 0; i < x; i++)
    {
      for (int j = 0; j < z; j++)
      {
        for (int k = 0; k < y; k++)
        {
          retBuf[i][j] += v1[i][k] * v2[k][j];
        }
      }
    }
    for (int i = 0; i < x; i++)
    {
      for (int j = 0; j < z; j++)
      {
        cout << retBuf[i][j] << " ";
      }
      cout << endl;
    }
  }
  return 0;
}


相关文章
|
3月前
|
人工智能 监控 安全
AI智能体APP的开发
本指南详解AI智能体APP从0到1的五阶段落地路径:聚焦“感知-推理-行动”闭环,涵盖人设定义、知识库构建、RAG增强、智能编排、安全过滤及数据反哺,助力开发者高效打造可控、可信、可进化的AI原生应用。(239字)
|
8月前
|
人工智能 机器人 程序员
去年我用一张Excel表"规划"学习,结果把自己逼进了ICU——直到我学会让AI帮我排兵布阵
本文以作者因"完美计划表"累倒入院的亲身经历切入,分享了一套让AI担任私人学习规划师的完整指令模板。通过"目标拆解""遗忘曲线复习""弹性时间"三大机制,解决目标模糊、复习逃避、计划崩溃等常见学习痛点,并提供上班族、学生、转行者三种典型场景的实战案例。
1063 18
|
人工智能 前端开发 Java
Java 转 AI 不用慌!3 周求职打卡表,帮你按天推进、高效拿 offer
三周(21天)AI应用工程师转型打卡计划,涵盖Python基础、Prompt工程、实战项目与面试准备,每日明确任务目标,助力系统学习与进度追踪。
858 7
|
人工智能 自然语言处理 前端开发
从前端视角聊聊通义灵码使用经验,如何更好地提升研发效率
从前端视角聊聊通义灵码使用经验,如何更好地提升研发效率
|
Python
tinytag-用于读取MP3,OGG,FLAC和Wave文件的音乐元数据的python库
tinytag是一个python库,用于使用python读取MP3,OGG,OPUS,MP4,M4A,FLAC,WMA和Wave文件的音乐元数据。特征: - 读取音频文件的标签,长度和封面图像 - 支持的格式:(MP3 (ID3 v1, v1.1, v2.2, v2.3+)、Wave/RIFF、OGG、OPUS、FLAC、WMA、MP4/M4A/M4B) - 纯python,无依赖 - 支持python 2.7和3.4或更高版本 - 高测试覆盖率 - 仅几百行代码(只需将其包含在您的项目中即可!)
2590 0
tinytag-用于读取MP3,OGG,FLAC和Wave文件的音乐元数据的python库
|
消息中间件 网络协议 Java
深入剖析阻塞式socket的timeout
深入剖析阻塞式socket的timeout
|
Linux Python
Linux 修改 pip 源
Linux 修改 pip 源
881 0
|
Python
python股票量化交易(3)---趋势类指标MACD
虚心屈己,受福之基。彼气盈者,必非远器,纵发亦无受用。
1328 0
python股票量化交易(3)---趋势类指标MACD
|
XML 前端开发 小程序
PDF转Word完全指南:3大方法满足各种场景!
还不知道PDF怎么转Word吗,本文将提供完整的PDF转Word方案,包括离线、在线或者SDK API等各种方式,总有一款满足您的需求。
1441 0
优化求解器之Pyomo建模工具简介
在使用优化求解器解决实际问题的过程中,通过程序接口输入优化模型往往会耗费大量时间和精力,且容易出错。为了简化这一步骤,建模语言应运而生。建模语言最初的概念是在1976年提出的,后经过不断的发展,形成了如今蓬勃的技术、产品和应用市场。建模语言往往并不对实际问题进行求解,而专注在模型建立本身,其目的是将复杂的优化问题简化为抽象的代数表达形式;让用户在开发上只需要专注于代数模型的建立,模型完成后再将数据分别引入。如此不但加快开发流程,更有效减少模型输入错误的可能性。接下来我们将发布一系列文章,对常见的AMPL, Pyomo, PuLP等建模语言进行简要的介绍。
优化求解器之Pyomo建模工具简介

热门文章

最新文章