题解 AT195 【A mul B Problem】
小邱
2021-02-03 17:53:38
先来一道开胃菜:[AC记录](https://www.luogu.com.cn/record/46049557)
接下来进入正题:
简单的矩阵乘法,矩阵乘法的运算法则为:
k:1~n
Cij=求和:Aik*Bkj
其它就没什么可说的了
# 上代码!!!
```cpp
#include<bits/stdc++.h>
using namespace std;
int a[1005][1005],s,b[1005][1005],c[1005][1005];
int main()
{
int i,j,k,n;
scanf("%d",&n);
//输入ABC
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
scanf("%d",&b[i][j]);
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
scanf("%d",&c[i][j]);
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
s=0;、、不初始为零可能会出现你无法想象的效果
for(k=1;k<=n;k++)
{
s+=a[i][k]*b[k][j];//上面说的公式
}
if(s!=c[i][j])//如果算完发现不一样就说明错了,如果对了就不理他,等下次接着判断
{
printf("NO\n");//注意要换行
return 0;
}
}
}
printf("YES\n");//如果没有no就说明成功
return 0;
}
```
也许我说的不好,但可以捧个人场吗,谢谢啦!!