poj 3318 Matrix Multiplication

http://poj.org/problem?id=3318

g++ re   c++ ac

受不了了

随机找了60000 个点比较的  运气好就过了

#include<iostream>

#include<cstdio>

#include<cstdlib>

#include<ctime>

#include<queue>

#include<cstring>

#include<set>

#include<cmath>

#include<algorithm>



using namespace std;



const int N=505;

int a[N][N];

int b[N][N];

int c[N][N];

int main()

{

        //freopen("data.txt","r",stdin);

        int n;

        scanf("%d",&n);

        for(int i=0;i<n;++i)

        for(int j=0;j<n;++j)

        scanf("%d",&a[i][j]);

        for(int i=0;i<n;++i)

        for(int j=0;j<n;++j)

        scanf("%d",&b[i][j]);

        for(int i=0;i<n;++i)

        for(int j=0;j<n;++j)

        scanf("%d",&c[i][j]);

        srand((unsigned int)time(NULL));

        int I=60000;

        bool flag=true;

        while(I--)

        {

            int k=rand()%n;

            int l=rand()%n;

            int temp=0;

            for(int i=0;i<n;++i)

            {

                temp+=(a[k][i]*b[i][l]);

            }

            if(temp!=c[k][l])

            {

                flag=false;

                break;

            }

        }

        if(flag==true)

        printf("YES\n");

        else

        printf("NO\n");

    return 0;

}

 

你可能感兴趣的:(Matrix)