51nod 1140 矩阵相乘结果的判断

来源:互联网 发布:arcgis裁剪栅格数据 编辑:程序博客网 时间:2024/06/07 05:23

加读入优化,或者等式两边乘以一个列向量,验证是否成立。

#include<bits/stdc++.h>using namespace std;void read(int&a){    char ch;while(!((ch=getchar())>='0')&&(ch<='9'));    a=ch-'0';while(((ch=getchar())>='0')&&(ch<='9'))a*=10,a+=ch-'0';}const int MAXN=550;int a[MAXN][MAXN],b[MAXN][MAXN],c[MAXN][MAXN],d[MAXN][MAXN];int main(){int n,i,j,k,flag;while(~scanf("%d",&n)){for(i=1;i<=n;i++)for(j=1;j<=n;j++)read(a[i][j]);for(i=1;i<=n;i++)for(j=1;j<=n;j++)read(b[i][j]);for(i=1;i<=n;i++)for(j=1;j<=n;j++)read(c[i][j]);memset(d,0,sizeof(d));for(i=1;i<=n;i++)for(j=1;j<=n;j++)for(k=1;k<=n;k++)d[i][j]+=a[i][k]*b[k][j];flag=1;for(i=1;i<=n&&flag;i++)for(j=1;j<=n&&flag;j++)if(c[i][j]!=d[i][j])flag=0;if(flag)printf("Yes\n");elseprintf("No\n");}}


0 0
原创粉丝点击