#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] = {0};
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 k = 0; k < 2; k++) {
ans[i][j] += x[i][k] * y[k][j];
}
}
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+CnZvaWQgYXJyYXlfbXVsKGludCAoKngpWzJdLCBpbnQgKCp5KVsyXSwgaW50ICgqYW5zKVsyXSk7CmludCBtYWluKHZvaWQpCnsKICAgIGludCB4WzJdWzJdID0gewogICAgICAgIHsxLCAyfSwKICAgICAgICB7MywgNH0KICAgIH07CiAgICBpbnQgeVsyXVsyXSA9IHsKICAgICAgICB7MSwgMn0sCiAgICAgICAgezMsIDR9CiAgICB9OwogICAgaW50IGFuc1syXVsyXSA9IHswfTsKCiAgICBhcnJheV9tdWwoeCwgeSwgYW5zKTsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IDI7IGkrKykgewogICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgMjsgaisrKSB7CiAgICAgICAgICAgIHByaW50ZigiJWQgIiwgYW5zW2ldW2pdKTsKICAgICAgICB9CiAgICAgICAgcHJpbnRmKCJcbiIpOwogICAgfQogICAgcmV0dXJuIDA7Cn0Kdm9pZCBhcnJheV9tdWwoaW50ICgqeClbMl0sIGludCAoKnkpWzJdLCBpbnQgKCphbnMpWzJdKQp7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IDI7IGkrKykgewogICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgMjsgaisrKSB7CiAgICAgICAgICAgIGFuc1tpXVtqXSA9IDA7CiAgICAgICAgICAgIGZvciAoaW50IGsgPSAwOyBrIDwgMjsgaysrKSB7CiAgICAgICAgICAgICAgICBhbnNbaV1bal0gKz0geFtpXVtrXSAqIHlba11bal07CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0=