Problem F: Matrix Problem (III) : Array Practice Time Limit: 1 Sec Memory Limit: 4 MB Submit: 8787

1403 ワード

Problem F: Matrix Problem (III) : Array Practice
Time Limit: 1 Sec  
Memory Limit: 4 MB
Submit: 8787  
Solved: 2934
[ Submit][ Status][ Web Board]
Description
二つの行列A、Bの積C=ABを求める.行列乗算の定義によれば、Aの列数とBの行数が同じでなければ乗算できない.すべての演算結果がintタイプの範囲内であることを確認できます.
Input
入力データは複数の行列(最低2個)であり、各行列は2つの正の整数mとnで始まり、0を満たす.
Output
入力された行列に2つ乗算:1番目と2番目の乗算、1番目と2番目の乗算結果と3番目の乗算......行列に乗算された結果を順次出力します:各行の2つの要素の間に1つのスペースで区切られ、各行の最後の要素の後に1つの改行となり、次の行で出力行列の次の行が開始されます.
前のk個の行列が乗算された結果とk+1個目の行列が乗算できない(すなわち、行列乗算定義を満たさない)場合は、「Not satisfied the definition of matrix multiplication!」と出力される.次いで、k+1番目のマトリクスでk+2番目のマトリクスに乗算する.最後のマトリクスは乗数のみです.
2つの出力のセットごとに1つの空の行で区切られます.
Sample Input
2 31 1 11 1 13 31 2 34 5 67 8 93 10000 0
Sample Output
12 15 1812 15 1800
HINT
行列の乗算は、1行に1列を乗じて要素にします.
Append Code//難点は主にリターンの処理と三重サイクル、そして少なくとも二つは便利な処理ができます.
#include
#include
int mul(int a[][105],int b[][105],int s[][105],int m,int n,int y)
{
    int c,d,e;
    for(c=0; c