#include <stdio.h>
void rotate(int **A, int n11, int n12)
{
for (int i = 0; i < n11; ++i)
{
for (int j = 0; j < n12; ++j)
}
if (n11 <= 2 || n12 <= 2)
return;
int *sub_A[n11 - 2];
for (int i = 0; i < n11 - 2; ++i)
sub_A[i] = &A[i + 1][1];
rotate(sub_A, n11 - 2, n12 - 2);
}
int main(void)
{
int *A[] =
{
(int []) { 1, 2, 3, 4, 5 },
(int []) { 6, 7, 8, 9, 10 },
(int []) { 11, 12, 13, 14, 15 },
(int []) { 16, 17, 18, 19, 20 },
(int []) { 21, 22, 23, 24, 25 }
};
rotate(A, 5, 5);
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIHJvdGF0ZShpbnQgKipBLCBpbnQgbjExLCBpbnQgbjEyKQp7CiAgZm9yIChpbnQgaSA9IDA7IGkgPCBuMTE7ICsraSkKICB7CiAgICBmb3IgKGludCBqID0gMDsgaiA8IG4xMjsgKytqKQogICAgICBwcmludGYoIiUyZCAiLCBBW2ldW2pdKTsKICAgIHByaW50ZigiXG4iKTsKICB9CiAgcHJpbnRmKCJcbiIpOwogIAogIGlmIChuMTEgPD0gMiB8fCAgbjEyIDw9IDIpCiAgICByZXR1cm47CgogIGludCAqc3ViX0FbbjExIC0gMl07CiAgZm9yIChpbnQgaSA9IDA7IGkgPCBuMTEgLSAyOyArK2kpCiAgICBzdWJfQVtpXSA9ICZBW2kgKyAxXVsxXTsKCiAgcm90YXRlKHN1Yl9BLCBuMTEgLSAyLCBuMTIgLSAyKTsKfQoKaW50IG1haW4odm9pZCkgCnsKICBpbnQgKkFbXSA9CiAgewogIAkoaW50IFtdKSB7ICAxLCAgMiwgIDMsICA0LCAgNSB9LAogICAgKGludCBbXSkgeyAgNiwgIDcsICA4LCAgOSwgMTAgfSwgIAkKICAgIChpbnQgW10pIHsgMTEsIDEyLCAxMywgMTQsIDE1IH0sCiAgICAoaW50IFtdKSB7IDE2LCAxNywgMTgsIDE5LCAyMCB9LAogICAgKGludCBbXSkgeyAyMSwgMjIsIDIzLCAyNCwgMjUgfQogIH07CiAgCiAgcm90YXRlKEEsIDUsIDUpOwp9Cg==