给出三个N*N的矩阵A, B, C,问A * B是否等于C?

 
Input
第1行,1个数N。(0 <= N <= 500)
第2 - N + 1行:每行N个数,对应矩阵A的元素。(0 <= M[i] <= 16)
第N + 2 - 2N + 1行:每行N个数,对应矩阵B的元素。(0 <= M[i] <= 16)
第2N + 2 - 3N + 1行:每行N个数,对应矩阵C的元素。
Output
如果相等输出Yes,否则输出No。
Input示例
2
1 0
0 1
0 1
1 0
0 1
1 0
Output示例
Yes
——————————————————————
这题如果直接乘a b矩阵要 n^3 方 那么肯定会T
我们可以考虑引进一个向量 也就是1*n的矩阵 和 a b c 乘起来
判断是否相等就可以辣 这样是n^2的复杂度
如果担心不准 可以多rand几个1*n的矩阵多次比较
#include<cstdio>
#include<cstring>
#include<algorithm>
using std::max;
const int M=;
char buf[*M*M],*ptr=buf-;
int read(){
int ans=,f=,c=*++ptr;
while(c<''||c>''){if(c=='-') f=-; c=*++ptr;}
while(c>=''&&c<=''){ans=ans*+(c-''); c=*++ptr;}
return ans*f;
}
int n;
typedef int mat[M][M];
mat a,b,c;
int ly[M],yy[M],tmp[M];
int main(){
fread(buf,,sizeof(buf),stdin);
n=read();
for(int i=;i<=n;i++) for(int j=;j<=n;j++) a[i][j]=read();
for(int i=;i<=n;i++) for(int j=;j<=n;j++) b[i][j]=read();
for(int i=;i<=n;i++) for(int j=;j<=n;j++) c[i][j]=read(); for(int i=;i<=n;i++) ly[i]=rand();
for(int i=;i<=n;i++) yy[i]=ly[i]; for(int k=;k<=n;k++) for(int j=;j<=n;j++) tmp[k]+=ly[j]*a[j][k];
for(int i=;i<=n;i++) ly[i]=tmp[i];
memset(tmp,,sizeof(tmp));
for(int k=;k<=n;k++) for(int j=;j<=n;j++) tmp[k]+=ly[j]*b[j][k];
for(int i=;i<=n;i++) ly[i]=tmp[i]; memset(tmp,,sizeof(tmp));
for(int k=;k<=n;k++) for(int j=;j<=n;j++) tmp[k]+=yy[j]*c[j][k];
for(int i=;i<=n;i++)if(ly[i]!=tmp[i]) return puts("No"),;
puts("Yes");
return ;
}
 

最新文章

  1. data and dream
  2. 【背景建模】VIBE
  3. 用C#实现RSS的生成和解析,支持RSS2.0和Atom格式
  4. MVC C# 调用存储过程
  5. 深入学习block
  6. 用twisted 做一个日志收集系统
  7. 【USACO 2.2.1】序言页码
  8. MySQL5.6安装(RPM)笔记
  9. Dynamics 365 Customer Engagement中插件的调试
  10. Linux 下的各种环境安装
  11. FFmpeg开发实战(四):FFmpeg 抽取音视频的音频数据
  12. 2016 Multi-University Training Contest 2题解报告
  13. Confluence 6 示例 - https://confluence.atlassian.com/
  14. Jenkins 构建 coding项目,插件
  15. nginx负载均衡模块
  16. 解析hdr图像文件的python实现
  17. 敏捷冲刺DAY6
  18. USD Series: Installation
  19. RHEL因为selinux设置失误,无法重启问题。(centos适用)
  20. VLine[-1]=VLine[width]=128 数组的负一地址代表啥

热门文章

  1. 第13章 学习shell script
  2. 经典SQL语句基础50题
  3. MQTT协议-----订阅
  4. spring表单—乱码解决方案
  5. jQuery之元素查找
  6. phpcms 思维导图
  7. Codeforces 786C Till I Collapse
  8. Android四大组件之Service(续)
  9. Django对应的路由名称
  10. Codeforces Round #353 (Div. 2) A