hdoj Matrix multiplication 4920 (矩阵相乘)

来源:互联网 发布:mac网络连接鉴定失败 编辑:程序博客网 时间:2024/04/20 18:42

Matrix multiplication

Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 3841    Accepted Submission(s): 1577


Problem Description
Given two matrices A and B of size n×n, find the product of them.

bobo hates big integers. So you are only asked to find the result modulo 3.

Input
The input consists of several tests. For each tests:

The first line contains n (1≤n≤800). Each of the following n lines contain n integers -- the description of the matrix A. The j-th integer in the i-th line equals Aij. The next n lines describe the matrix B in similar format (0≤Aij,Bij≤109).

Output
For each tests:

Print n lines. Each of them contain n integers -- the matrix A×B in similar format.

Sample Input
10120 12 34 56 7

Sample Output
00 12 1
 
//一直超时,明天再看
#include<stdio.h>#include<string.h>#include<math.h>#include<algorithm>using namespace std;int a[810][810];int b[810][810];int c[810][810];int main(){int n,i,j,k;while(scanf("%d",&n)!=EOF){for(i=1;i<=n;i++){for(j=1;j<=n;j++){scanf("%d",&a[i][j]);a[i][j]%=3;}}for(i=1;i<=n;i++){for(j=1;j<=n;j++){scanf("%d",&b[i][j]);b[i][j]%=3;}}memset(c,0,sizeof(c));for(i=1;i<=n;i++){for(j=1;j<=n;j++){for(k=1;k<=n;k++){c[i][j]=(c[i][j]+a[i][k]*b[k][j]);}}}for(i=1;i<=n;i++){for(j=1;j<n;j++)printf("%d ",a[i][j]%3);printf("%d\n",a[i][n]%3);}}return 0;}

0 0
原创粉丝点击