#include <stdio.h>
void array_mul(int (*x)[2], int (*y)[2], int (*ans)[2]) {
// 行列の掛け算(2×2)
for (int i = 0; i < 2; i++) { // x の行
for (int j = 0; j < 2; j++) { // y の列
ans[i][j] = 0;
for (int k = 0; k < 2; k++) { // 掛け算の和
ans[i][j] += x[i][k] * y[k][j];
}
}
}
// 結果表示
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; 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);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIGFycmF5X211bChpbnQgKCp4KVsyXSwgaW50ICgqeSlbMl0sIGludCAoKmFucylbMl0pIHsKCiAgICAvLyDooYzliJfjga7mjpvjgZHnrpfvvIgyw5cy77yJCiAgICBmb3IgKGludCBpID0gMDsgaSA8IDI7IGkrKykgeyAgICAgICAgICAvLyB4IOOBruihjAogICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgMjsgaisrKSB7ICAgICAgLy8geSDjga7liJcKICAgICAgICAgICAgYW5zW2ldW2pdID0gMDsKICAgICAgICAgICAgZm9yIChpbnQgayA9IDA7IGsgPCAyOyBrKyspIHsgIC8vIOaOm+OBkeeul+OBruWSjAogICAgICAgICAgICAgICAgYW5zW2ldW2pdICs9IHhbaV1ba10gKiB5W2tdW2pdOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8vIOe1kOaenOihqOekugogICAgcHJpbnRmKCJhbnMgPVxuIik7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IDI7IGkrKykgewogICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgMjsgaisrKSB7CiAgICAgICAgICAgIHByaW50ZigiJWQgIiwgYW5zW2ldW2pdKTsKICAgICAgICB9CiAgICAgICAgcHJpbnRmKCJcbiIpOwogICAgfQp9CgppbnQgbWFpbigpIHsKICAgIGludCB4WzJdWzJdID0gewogICAgICAgIHsxLCAyfSwKICAgICAgICB7MywgNH0KICAgIH07CgogICAgaW50IHlbMl1bMl0gPSB7CiAgICAgICAgezEsIDJ9LAogICAgICAgIHszLCA0fQogICAgfTsKCiAgICBpbnQgYW5zWzJdWzJdOwoKICAgIGFycmF5X211bCh4LCB5LCBhbnMpOwoKICAgIHJldHVybiAwOwp9Cgo=