P4924 [1007]魔法少女小Scarlet
Posted Kunkun只喝怡宝
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P4924 [1007]魔法少女小Scarlet相关的知识,希望对你有一定的参考价值。
代码
1、先将数组a依次赋值
2、对于每次输入的命令,执行顺时针或逆时针的对应操作
,先将指定2r+1阶数组按顺时针或逆时针顺序存入数组b,然后再将数组b按正常顺序存进2r+1阶的数组。
#include<bits/stdc++.h>
using namespace std;
int a[500][500],b[250000],n,m;
int main(){
int i,j,k=1;
int x,y,r,z,u;
cin>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
a[i][j]=k++;
for(i=0;i<m;i++){
cin>>x>>y>>r>>z;
if(z==0){
u=0;
for(j=y-r;j<=y+r;j++)
for(k=x+r;k>=x-r;k--)
b[u++]=a[k][j];
u=0;
for(k=x-r;k<=x+r;k++)
for(j=y-r;j<=y+r;j++)
a[k][j]=b[u++];
}else{
u=0;
for(j=y+r;j>=y-r;j--)
for(k=x-r;k<=x+r;k++)
b[u++]=a[k][j];
u=0;
for(k=x-r;k<=x+r;k++)
for(j=y-r;j<=y+r;j++)
a[k][j]=b[u++];
}
}
for(i=1;i<=n;i++){
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}
以上是关于P4924 [1007]魔法少女小Scarlet的主要内容,如果未能解决你的问题,请参考以下文章