只有第10给数据对了 大佬给孩子看看错在哪了吧
查看原帖
只有第10给数据对了 大佬给孩子看看错在哪了吧
91970
Turing丶楼主2021/1/21 13:42
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int vis[520][520];
int v[520][520];
void solve(int x,int y,int r,int z)
{
  if(z==1)
   {
       for(int i=x-r;i<=x+r;i++)
       for(int j=y-r;j<=y+r;j++)
           v[i][j]=vis[j][2*x-i];
   }
   else
   {
       for(int i=x-r;i<=x+r;i++)
       for(int j=y-r;j<=y+r;j++)
           v[i][j]=vis[2*y-j][i];
   }
   for(int i=x-r;i<=x+r;i++)
   for(int j=y-r;j<=y+r;j++)
      vis[i][j]=v[i][j];
}
void pri(int n)
{
   for(int i=1;i<=n;i++)
   {
       for(int j=1;j<=n;j++)
       {
           if(j==n) printf("%d",vis[i][j]);
           else printf("%d ",vis[i][j]);
       }
       printf("\n");
   }
}
int main()
{
   int n,m,k=0;
   cin>>n>>m;
   for(int i=1;i<=n;i++)
   for(int j=1;j<=n;j++)
       vis[i][j]=++k;
   for(int i=1;i<=m;i++)
   {
       int x,y,r,z;
       cin>>x>>y>>r>>z;
       solve(x,y,r,z);
   }
   pri(n);
   return 0;
}
2021/1/21 13:42
加载中...