求调代码
查看原帖
求调代码
917842
tyy6034楼主2023/11/24 12:10
#include<bits/stdc++.h>
using namespace std;
int n,m,a[505][505],b[505][505],x,y,r,z;
void cmp(int x,int y,int r,int z)
{
    int g[505][505],s[505][505];
    for(int i=x-r;i<=x+r;i++)
    {
        for(int j=y-r;j<=y+r;j++)
        {
            g[i][j]=a[i][j];
            s[i][j]=a[i][j];
        }
    }
    if(z==1)
    {
        for(int j=y-r;j<=y+r;j++)
        {
            for(int i=x+r;i>=x-r;i--)
            {
                g[i][j]=s[j][2*x-i];
            }
        }
    }
    if(z==0)
    {
        for(int j=y+r;j>=y-r;j--)
        {
            for(int i=x-r;i<=x+r;i++)
            {
                g[i][j]=s[2*y-j][i];
            }
        }
    }
    for(int i=x-r;i<=x+r;i++)
    {
        for(int j=y-r;j<=y+r;j++)
        {
            a[i][j]=g[i][j];
        }
    }
}
int main()
{
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
        {
            a[i][j]=(i-1)*n+j;
        }
    }
    for(int i=1;i<=m;i++)
    {
        cin>>x>>y>>r>>z;
        cmp(x,y,r,z);
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)cout<<a[i][j]<<" ";
        cout<<endl;
    }
    
    return 0;
}
2023/11/24 12:10
加载中...