求助求助,样例能过,但是测试点不是RE就是WA
查看原帖
求助求助,样例能过,但是测试点不是RE就是WA
755222
Lawate楼主2022/11/10 11:48
#include<iostream>
using namespace std;
int a[501][501];
int b[501][501];
int main()
{
    int n, m;
    int x, y, r, z;
    cin >> n >> m;
    for (int q = 1; q <= n; q++)
    {
        for (int j = 1; j <= n; j++)
        {
            cin >> a[q][j];
        }
    }

    for (int q = 1; q <= m; q++)
    {
        for (int w = 1; w <= n; w++)//每次操作前更新b[][]
        {
            for (int j = 1; j <= n; j++)
            {
                b[w][j] = a[w][j];
            }
        }
        cin >> x >> y >> r >> z;
        //a[x-1][y-1]  左上a[x-1][y-1],右下a[x+1][y+1]

        int zuihoulie = y + r;
        if (z == 0)
        {
            for (int i = x - r; i <= x + r; i++)//行//若r为1,3*3矩阵,x-1到x+1
            {

                int diyihang = x - r;
                for (int p = y - r; p <= y + r; p++)//列
                {
                    a[diyihang++][zuihoulie] = b[i][p];
                }
                zuihoulie--;
            }
        }
        else
        {
            int diyilie = y - r;
            for (int i = x - r; i <= x + r; i++)//行
            {
                int zuihouhang = x + r;
                for (int p = y - r; p <= y + r; p++)//列
                {
                    a[zuihouhang--][diyilie] = b[i][p];
                }
                diyilie++;
            }
        }
    }
    for (int q = 1; q <= n; q++)
    {
        for (int j = 1; j <= n; j++)
        {
            cout << a[q][j] << " ";
        }
        cout << endl;
    }

    return 0;
}

感谢大佬!

2022/11/10 11:48
加载中...