#include <stdio.h>
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 k = 0; k < 2; k++) {
ans[i][j] += x[i][k] * y[k][j];
}
}
}
}
int main() {
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;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIGFycmF5X211bChpbnQgKCp4KVsyXSwgaW50ICgqeSlbMl0sIGludCAoKmFucylbMl0pIHsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IDI7IGkrKykgewogICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgMjsgaisrKSB7CiAgICAgICAgICAgIGFuc1tpXVtqXSA9IDA7CiAgICAgICAgICAgIGZvciAoaW50IGsgPSAwOyBrIDwgMjsgaysrKSB7CiAgICAgICAgICAgICAgICBhbnNbaV1bal0gKz0geFtpXVtrXSAqIHlba11bal07CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0KCmludCBtYWluKCkgewogICAgaW50IHhbMl1bMl0gPSB7IHsxLCAyfSwgezMsIDR9IH07CiAgICBpbnQgeVsyXVsyXSA9IHsgezEsIDJ9LCB7MywgNH0gfTsKICAgIGludCBhbnNbMl1bMl07CgogICAgYXJyYXlfbXVsKHgsIHksIGFucyk7CgogICAgLy8g57WQ5p6c6KGo56S6CiAgICBwcmludGYoIuihjOWIlyB4IMOXIHkgPSBcbiIpOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCAyOyBpKyspIHsKICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IDI7IGorKykgewogICAgICAgICAgICBwcmludGYoIiVkICIsIGFuc1tpXVtqXSk7CiAgICAgICAgfQogICAgICAgIHByaW50ZigiXG4iKTsKICAgIH0KCiAgICByZXR1cm4gMDsKfQo=