zoukankan      html  css  js  c++  java
  • 51nod 1137 矩阵乘法

    基本的矩阵乘法

    中间for(int j=0;i<n;i++)  //这里写错了   应该是j<n 晚上果然  效率不行  

    等会早点儿睡

    //矩阵乘法  就是 两个矩阵 第一个矩阵的列 等与 第二个矩阵的行相同
    // 然后ans[i][j] += a[i][k] * b[k][j];
    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    const int maxn = 150;
    int n;
    ll a[maxn][maxn];
    
    class Matrix
    {
    public:
        ll s[maxn][maxn];
        Matrix()
        {
            memset(s,0,sizeof(s));
        }
    
        Matrix(ll a[maxn][maxn])
        {
            for(int i=0;i<n;i++)
                for(int j=0;j<n;j++)
                    s[i][j] = a[i][j];
        }
    
        void print()
        {
            for(int i=0;i<n;i++)
            {
                for(int j=0;j<n;j++)
                {
                    if(j)
                        cout<<" ";
                    cout<<s[i][j];
                }
                cout<<endl;
            }
        }
    };
    
    Matrix operator *(Matrix a,Matrix b)
    {
        Matrix ans;
        for(int i=0;i<n;i++)
            for(int j=0;j<n;j++)
                for(int k=0;k<n;k++)
                    ans.s[i][j] = (ans.s[i][j] + a.s[i][k] * b.s[k][j]);
        return ans;
    }
    int main()
    {
        cin>>n;
        for(int i=0;i<n;i++)
            for(int j=0;j<n;j++)
                cin>>a[i][j];
        Matrix A(a);
        for(int i=0;i<n;i++)
            for(int j=0;j<n;j++)
                cin>>a[i][j];
        Matrix B(a);
    
        Matrix ans = A*B;
    
        ans.print();
    }
  • 相关阅读:
    一月5日
    一月5日
    面试java工程师的自我介绍(模拟篇)
    Spring Boot Jpa 介绍
    spring+redis做缓存使用
    Spring Boot Web 开发详解
    thymeleaf+spring的简单搭建
    如何搭建 Spring boot
    通用baseDao
    pagehelper的使用
  • 原文地址:https://www.cnblogs.com/Draymonder/p/7406988.html
Copyright © 2011-2022 走看看