第三题:
int main() {
    int n;
    cin >> n;
    vector<vector<int>> a(4, vector<int>(4));
    for (int i = 0; i < 4; i++)
        for (int j = 0; j < 4; j++)
            cin >> a[i][j];
    if (n == 1) {
        for (int j = 0; j < 4; j++) {
            int ll = 0;
            for (int i = 0; i < 4; i++) {
                if (a[i][j] == 0)
                    continue;
                if (i + 1 < 4 && a[i][j] == a[i + 1][j]) {
                    a[i][j] *= 2;
                    a[i + 1][j] = 0;
                }
                swap(a[i][j], a[ll][j]);
                ll++;
            }
        }
    }
    else if (n == 2) {
        for (int j = 0; j < 4; j++) {
            int ll = 3;
            for (int i = 3; i >= 0; i--) {
                if (a[i][j] == 0)
                    continue;
                if (i - 1 >= 0 && a[i][j] == a[i - 1][j]) {
                    a[i][j] *= 2;
                    a[i - 1][j] = 0;
                }
                swap(a[i][j], a[ll][j]);
                ll--;
            }
        }
    }
    else if (n == 3) {
        for (int i = 0; i < 4; i++) {
            int ll = 0;
            for (int j = 0; j < 4; j++) {
                if (a[i][j] == 0)
                    continue;
                if (j + 1 < 4 && a[i][j] == a[i][j + 1]) {
                    a[i][j] *= 2;
                    a[i][j + 1] = 0;
                }
                swap(a[i][j], a[i][ll]);
                ll++;
            }
        }
    }
    else if (n == 4) {
        for (int i = 0; i < 4; i++) {
            int ll = 3;
            for (int j = 3; j >= 0; j--) {
                if (a[i][j] == 0)
                    continue;
                if (j - 1 >= 0 && a[i][j] == a[i][j - 1]) {
                    a[i][j] *= 2;
                    a[i][j - 1] = 0;
                }
                swap(a[i][j], a[i][ll]);
                ll--;
            }
        }
    }
    for (int i = 0; i < 4; i++) {
        for (int j = 0; j < 4; j++)
            cout << a[i][j] << ' ';
        cout << endl;
    }
    system("pause");
    return 0;
}