求助求助
查看原帖
求助求助
1105198
Marisa_LV楼主2024/9/5 10:09
#include<iostream>
using namespace std;
int main() {
    int n, m, temp = 1;
    int SZ1[600][600], SZ2[600][600], ML[600][600];
    cin >> n >> m;
    for (int a = 0; a < n; a++) {
        for (int b = 0; b < n; b++) {
            SZ1[a][b] = temp;
            temp++;
        }
    }
    for (int a = 0; a < m; a++) {
        for (int b = 0; b < 4; b++) {
            cin >> ML[a][b];
        }
    }
    for (int a = 0; a < m; a++) {
        if (ML[a][3] == 0) {
            for (int a1 = ML[a][0] - 1 - ML[a][2]; a1 <= ML[a][0] - 1 + ML[a][2]; a1++) {
                for (int b1 = ML[a][1] - 1 + ML[a][2]; b1 >= ML[a][1] - 1 - ML[a][2]; b1--) {
                    SZ2[2 * ML[a][1] - 2 - b1][a1] = SZ1[a1][b1];
                }
            }
            for (int a1 = ML[a][0] - 1 - ML[a][2]; a1 <= ML[a][0] - 1 + ML[a][2]; a++) {
                for (int b1 = ML[a][1] - 1 - ML[a][2]; b1 <= ML[a][1] - 1 + ML[a][2]; b1++) {
                    SZ1[a1][b1] = SZ2[a1][b1];
                }
            }
        }
        if (ML[a][3] == 1) {
            for (int a1 = ML[a][0] - 1 + ML[a][2]; a1 >= ML[a][0] - 1 - ML[a][2]; a1--) {
                for (int b1 = ML[a][1] - 1 - ML[a][2]; b1 <= ML[a][1] - 1 + ML[a][2]; b1++) {
                    SZ2[b1][2 * ML[a][0] - 2 - a1] = SZ1[a1][b1];
                }
            }
            for (int a1 = ML[a][0] - 1 - ML[a][2]; a1 <= ML[a][0] - 1 + ML[a][2]; a1++) {
                for (int b1 = ML[a][1] - 1 - ML[a][2]; b1 <= ML[a][1] - 1 + ML[a][2]; b1++) {
                    SZ1[a1][b1] = SZ2[a1][b1];
                }
            }
        }
    }
    for (int a = 0; a < n; a++) {
        for (int b = 0; b < n; b++) {
            cout << SZ1[a][b] << ' ';
        }
        cout << endl;
    }
    return 0;
}
2024/9/5 10:09
加载中...