求助大佬,只有第十个对了
查看原帖
求助大佬,只有第十个对了
886664
amaoagou楼主2024/3/13 22:11
#include <iostream>
#include <cstring>
using namespace std;
int arr[505][505];//最终数组
int arr2[505][505];//临时数组
int main(){
	int n,m;
	cin>>n>>m;
	int index=1;
  //初始化数组
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			arr[i][j]=index++;
		}
	}
	for(int i=1;i<=m;i++){
		int x,y,r,z;
		cin>>x>>y>>r>>z;
      //复制数组
		memcpy(arr2,arr,sizeof(arr));
		if(z==0){
          //顺时针旋转90°
			for(int j=x-r;j<=x+r;j++){
				for(int k=y-r,k1=y+r;k<=y+r;k++,k1--){
					arr[j][k]=arr2[k1][j];
				}
			}
		}else{
          //逆时针旋转90°
			for(int j=x-r,k1=x+r;j<=x+r;j++,k1--){
				for(int k=y-r;k<=y+r;k++){
					arr[j][k]=arr2[k][k1];
				}
			}
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			cout<<arr[i][j]<<" ";
		}
		cout<<endl;
	}
}
2024/3/13 22:11
加载中...