C++求大佬debug,自己测了几个数据都没问题。。。。
查看原帖
C++求大佬debug,自己测了几个数据都没问题。。。。
236195
大耳朵图图楼主2020/8/3 17:24
#include<iostream>
#include<vector>
#include<queue>
#include<algorithm>
#include<cstring>
using namespace std;
#define int long long
int a[1505][1505];
int tmp[1505][1505];
void work(int x,int y,int r,int de)
{
    int sx,dx,tx,wx;
    int sy,dy,ty,wy;
    sx=x-r;dx=x-r;tx=x+r;wx=x+r;
    sy=y-r;dy=y+r;ty=y-r;wy=y+r;
    if(de)
    {
        for(int i=wx,ii=sx;i>=sx||ii<=wx;i--,ii++)
        {
            for(int j=sy;j<=wy;j++)
            {
                tmp[ii][j]=a[j][i];
            }
        }
    }
    else
    {
        for(int i=sx;i<=wx;i++)
        {
            for(int j=wy,jj=sy;j>=sy||jj<=wy;j--,jj++)
            {
                tmp[i][jj]=a[j][i];
            }
        }
    }
    for(int i=sx;i<=wx;i++)
    {
       for(int j=sy;j<=wy;j++)
        {
            a[i][j]=tmp[i][j];
        }
    }
    // for(int i=sx;i<=wx;i++)
    // {
    //    for(int j=sy;j<=wy;j++)
    //     {
    //         cout<<tmp[i][j]<<" ";
    //     }
    //     cout<<endl;
    // }
}
signed main()
{
    int n,m;
    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++)
    {
        int x,y,r,d;
        cin>>x>>y>>r>>d;
        work(x,y,r,d);
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
        {
           cout<<a[i][j]<<" ";
        }
        cout<<endl;
    }
    return 0;
}  

2020/8/3 17:24
加载中...