「ITP1_7_D: Matrix Multiplication」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ITP1_7_D
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ITP1_7_D
行列計算をするだけの問題。
5分で書けます。
#include <iostream>
#include <stdio.h>
using namespace std;
int main() {
long long int A[101][101],B[101][101];
int n,m,l;
scanf("%d %d %d",&n,&m,&l);
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
scanf("%lld",&A[i][j]);
}
}
for(int i=0;i<m;i++){
for(int j=0;j<l;j++){
scanf("%lld",&B[i][j]);
}
}
long long int c;
for(int i=0;i<n;i++){
for(int j=0;j<l;j++){
c=0;
for(int k=0;k<m;k++){
c+=A[i][k]*B[k][j];
}
if(j>0)printf(" ");
printf("%lld",c);
}
printf("\n");
}
return 0;
}