#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 );
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]S*y[k][j];
}
}
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIGFycmF5X211bCggaW50ICgqeClbMl0sIGludCAoKnkpWzJdLCBpbnQgKCphbnMpWzJdKTsKCmludCBtYWluKHZvaWQpIAp7CglpbnQgeFsyXVsyXSA9IHsgezEsMn0sIHszLDR9IH07CglpbnQgeVsyXVsyXSA9IHsgezEsMn0sIHszLDR9IH07CglpbnQgYW5zWzJdWzJdID0geyB7IDAgfSB9OwoJCglhcnJheV9tdWwoIHgsIHksIGFucyApOwoJCglyZXR1cm4gMDsKfQoKdm9pZCBhcnJheV9tdWwoIGludCAoKngpWzJdLCBpbnQgKCp5KVsyXSwgaW50ICgqYW5zKVsyXSkKewoJZm9yKGludCBpPTA7IGkgPCAyOyBpKyspewoJCWZvcihpbnQgaj0wOyBqIDwgMjsgaisrKQoJCXsKCQkJYW5zW2ldW2pdID0gMDsKCQkJZm9yKGludCBrID0gMDsgayA8IDI7IGsrKyl7CgkJCWFuc1tpXVtqXSArPSB4W2ldW2tdUyp5W2tdW2pdOwoJCQl9CgkJCXByaW50ZigiJWQgIiwgYW5zW2ldW2pdKTsKCQl9CgkJcHV0Y2hhcignXG4nKTsKCX0KfQ==