#include <stdio.h>
int main(void)
{
int x[2][3] = {
{1, 2, 3},
{4, 5, 6}
};
int y[3][2] = {
{6, 5},
{4, 3},
{2, 1}
};
int z[2][2] = {
{10, 6},
{4, 9}
};
int ans[2][2];
cal_array(x, y, z, ans);
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
}
}
return 0;
}
void cal_array(const int (*x)[3], const int (*y)[2],
const int (*z)[2], int (*ans)[2])
{
int i, j, k;
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
ans[i][j] = 0;
for (k = 0; k < 3; k++) {
ans[i][j] += x[i][k] * y[k][j];
}
ans[i][j] += z[i][j];
}
}
}
CiNpbmNsdWRlIDxzdGRpby5oPgoKaW50IG1haW4odm9pZCkKewogICAgaW50IHhbMl1bM10gPSB7CiAgICAgICAgezEsIDIsIDN9LAogICAgICAgIHs0LCA1LCA2fQogICAgfTsKCiAgICBpbnQgeVszXVsyXSA9IHsKICAgICAgICB7NiwgNX0sCiAgICAgICAgezQsIDN9LAogICAgICAgIHsyLCAxfQogICAgfTsKCiAgICBpbnQgelsyXVsyXSA9IHsKICAgICAgICB7MTAsIDZ9LAogICAgICAgIHs0LCA5fQogICAgfTsKCiAgICBpbnQgYW5zWzJdWzJdOwoKICAgIGNhbF9hcnJheSh4LCB5LCB6LCBhbnMpOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCAyOyBpKyspIHsKICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IDI7IGorKykgewogICAgICAgICAgICBwcmludGYoIiVkICIsIGFuc1tpXVtqXSk7CiAgICAgICAgfQogICAgICAgIHByaW50ZigiXG4iKTsKICAgIH0KCiAgICByZXR1cm4gMDsKfQoKdm9pZCBjYWxfYXJyYXkoY29uc3QgaW50ICgqeClbM10sIGNvbnN0IGludCAoKnkpWzJdLAogICAgICAgICAgICAgICBjb25zdCBpbnQgKCp6KVsyXSwgaW50ICgqYW5zKVsyXSkKewogICAgaW50IGksIGosIGs7CiAgICBmb3IgKGkgPSAwOyBpIDwgMjsgaSsrKSB7CiAgICAgICAgZm9yIChqID0gMDsgaiA8IDI7IGorKykgewogICAgICAgICAgICBhbnNbaV1bal0gPSAwOwoKICAgICAgICAgICAgZm9yIChrID0gMDsgayA8IDM7IGsrKykgewogICAgICAgICAgICAgICAgYW5zW2ldW2pdICs9IHhbaV1ba10gKiB5W2tdW2pdOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGFuc1tpXVtqXSArPSB6W2ldW2pdOwogICAgICAgIH0KICAgIH0KfQoK