矩阵运算模板

矩阵运算题目(持续更新)

\(1.\) 矩阵乘法

\(2.\) 甲苯先生的字符串

矩阵乘法

细节:输出答案前还要取模一次以防爆负。

$View$ $Code$
  
  
   
   
//省略头文件
using namespace std;
inline int read()
{
    int ret=0,f=1;
    char ch=getchar();
    while(ch>'9'||ch<'0')
    {
        if(ch=='-')
            f=-1;
        ch=getchar();
    }
    while(ch>='0'&&ch<='9')
    {
        ret=(ret<<1)+(ret<<3)+ch-'0';
        ch=getchar();
    }
    return ret*f;
}
const int mod=1e9+7;
int n,p,m,a[505][505],b[505][505],c[505][505];
int main()
{
    n=read();
    p=read();
    m=read();
    for(register int i=1;i<=n;i++)
        for(register int j=1;j<=p;j++)
            a[i][j]=read();
    for(register int i=1;i<=p;i++)
        for(register int j=1;j<=m;j++)
            b[i][j]=read();
    for(register int i=1;i<=n;i++)
        for(register int j=1;j<=m;j++)
            for(register int k=1;k<=p;k++)
                c[i][j]=(c[i][j]+1ll*a[i][k]*b[k][j])%mod;
    for(register int i=1;i<=n;i++)
    {
        for(register int j=1;j<=m;j++)
            printf("%d ",(c[i][j]+mod)%mod);
        printf("\n");
    }
    return 0;
}

  
  

猜你喜欢

转载自www.cnblogs.com/Peter0701/p/11366659.html