simonyoung 提交的代码
提交时间: 2026 一月
语言: C
运行时间: 180ms
占用内存: 140K
Accepted
代码内容

登录之后查看代码,点此登录账号

#include<stdio.h>
#include<string.h>

int spin_90(int mat[100][100],int *n,int *m) {
	int i,j;
	int mat1[100][100]= {0};
	for(i=0; i<=*n-1; i++) {
		for(j=0; j<=*m-1; j++) {
			mat1[j][*n-1-i]=mat[i][j];
		}
	}
	for(i=0; i<=*m-1; i++) {
		for(j=0; j<=*n-1; j++) {
			mat[i][j] = mat1[i][j];
		}
	}

	int temp;
	temp=*n;
	*n=*m;
	*m=temp;
}

int spin_270(int mat[100][100],int *n,int *m) {
	spin_90(mat,n,m);
	spin_90(mat,n,m);
	spin_90(mat,n,m);
}

int mirror(int mat[100][100],int *n,int *m) {
	int i,j;
	int mat1[100][100]= {0};
	for(i=0; i<=*n-1; i++) {
		for(j=0; j<=*m-1; j++) {
			mat1[i][j]=mat[i][*m-1-j];
		}
	}
	for(i=0; i<=*n-1; i++) {
		for(j=0; j<=*m-1; j++) {
			mat[i][j] = mat1[i][j];
		}
	}
}

int main() {
	int n,m,k;
	int i,j;
	int mat[100][100];
	while(scanf("%d%d%d",&n,&m,&k)!=EOF) {
		for(i=0; i<=n-1; i++) {
			for(j=0; j<=m-1; j++) {
				scanf("%d",&mat[i][j]);
			}
		}

		int op;
		for(i=0; i<=k-1; i++) {
			scanf("%d",&op);

			if(op==1) {
				spin_90(mat,&n,&m);
			} else if(op==2) {
				mirror(mat,&n,&m);
			} else {
				spin_270(mat,&n,&m);
			}
		}
		for(i=0; i<=n-1; i++) {
			for(j=0; j<=m-1; j++) {
				printf("%d ",mat[i][j]);
			}
			printf("\n");
		}
	}
}