#include <stdio.h>
void array_mul(int (*x)[2], int (*y)[2], int (*ans)[2]);
int main(void) {
int x[2][2] = {{1, 2}, {3, 4}};
int y[2][2] = {{1, 2}, {3, 4}};
int ans[2][2];
array_mul(x, y, ans);
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
}
}
return 0;
}
void array_mul(int (*x)[2], int (*y)[2], int (*ans)[2]) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
ans[i][j] = 0;
for (int z = 0;z < 2; z++){
ans[i][j] = ans[i][j]+x[i][z]*y[z][j];
}
}
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIGFycmF5X211bChpbnQgKCp4KVsyXSwgaW50ICgqeSlbMl0sIGludCAoKmFucylbMl0pOwoKaW50IG1haW4odm9pZCkgewogICAgaW50IHhbMl1bMl0gPSB7ezEsIDJ9LCB7MywgNH19OwogICAgaW50IHlbMl1bMl0gPSB7ezEsIDJ9LCB7MywgNH19OwogICAgaW50IGFuc1syXVsyXTsKCiAgICBhcnJheV9tdWwoeCwgeSwgYW5zKTsKICAgICBmb3IgKGludCBpID0gMDsgaSA8IDI7IGkrKykgewogICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgMjsgaisrKSB7CiAgICAgICAgICAgIHByaW50ZigiJWQgIixhbnNbaV1bal0pOwogICAgICAgIH0KICAgICAgICBwcmludGYoIlxuIik7CiAgICAgfQogICAgcmV0dXJuIDA7Cn0KCnZvaWQgYXJyYXlfbXVsKGludCAoKngpWzJdLCBpbnQgKCp5KVsyXSwgaW50ICgqYW5zKVsyXSkgewogICAgZm9yIChpbnQgaSA9IDA7IGkgPCAyOyBpKyspIHsKICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IDI7IGorKykgewogICAgICAgICAgICBhbnNbaV1bal0gPSAwOwogICAgICAgICAgICBmb3IgKGludCB6ID0gMDt6IDwgMjsgeisrKXsKICAgICAgICAgICAgCWFuc1tpXVtqXSA9IGFuc1tpXVtqXSt4W2ldW3pdKnlbel1bal07CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K