~~切黑题的大佬居然不会这题,值得深思~~
by 7KByte @ 2018-10-12 13:01:30
@[huanghaox1212](/space/show?uid=75765)
逆时针和顺时针
by 小小二逼兽 @ 2018-10-16 19:13:40
#include<bits/stdc++.h>
using namespace std;
int sq[501][501];
int zhe[501][501];
void ssz(int x,int y,int r)
{
for(int i=x-r;i<=x+r;i++)
for(int j=y-r;j<=y+r;j++)
{
zhe[i][j]=sq[i][j];
}
for(int i=x-r,j2=y-r;i<=x+r,j2<=y+r;i++,j2++)
for(int j=y-r,i2=x+r;j<=y+r,i2>=x-r;j++,i2--)
{
sq[i2][j2]=zhe[i][j];
}
}
void nsz(int x,int y,int r)
{
for(int i=x-r;i<=x+r;i++)
for(int j=y-r;j<=y+r;j++)
{
zhe[i][j]=sq[i][j];
}
for(int i=x-r,j2=y+r;i<=x+r,j2>=y-r;i++,j2--)
for(int j=y-r,i2=x-r;j<=y+r,i2<=x+r;j++,i2++)
{
sq[i2][j2]=zhe[i][j];
}
}
int n,m;
void print()
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
printf("%d ",sq[i][j]);
printf("\n");
}
return;
}
int main()
{
int x,y,r,z;
scanf("%d %d",&n,&m);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
sq[i][j]=(i-1)*n+j;
}
}
for(int i=1;i<=m;i++)
{
scanf("%d %d %d %d",&x,&y,&r,&z);
if(z==0)
nsz(x,y,r);
else
ssz(x,y,r);
}
print();
return 0;
}
by 小小二逼兽 @ 2018-10-16 19:13:56
@[Gang_Leader](/space/show?uid=119261) 可是那道黑题是数学题啊。
by Starlight237 @ 2018-10-16 19:24:24
@[小小二逼兽](/space/show?uid=35467) Markdown,please。
by Starlight237 @ 2018-10-16 19:24:44
没事
@[huanghaox1212](/space/show?uid=75765)
by 小小二逼兽 @ 2018-10-16 19:58:24
你就只是转反了而已
by 小小二逼兽 @ 2018-10-16 19:58:43
@[小小二逼兽](/space/show?uid=35467) 就是说,我读题错误,把顺时针逆时针弄反了?
by Starlight237 @ 2018-10-16 20:42:32
@[小小二逼兽](/space/show?uid=35467) 麻烦用markdown重新发一下代码。
by Starlight237 @ 2018-10-16 20:43:53
不是的,题目自己弄反了
@[huanghaox1212](/space/show?uid=75765)
by 小小二逼兽 @ 2018-10-16 20:44:51