文章
1
粉丝
26
获赞
24
访问
2.4k
两个矩阵交替使用,避免每次操作使用修改后的元素带来错误。
flag==1,当前使用ans1矩阵,flag==2,当前使用ans2矩阵。
三个操作都很简单,找规律就行。
#include<cstdio>
using namespace std;
int ans1[110][110]={0};
int ans2[110][110]={0};
int flag=0;
void swap(int &a,int &b){
int temp=a;
a=b;
b=temp;
}
void rotate90(int &n,int&m){
if(flag==1){
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
ans2[j][n-i+1]=ans1[i][j];
}
}
flag=2;
}else if(flag==2){
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
ans1[j][n-i+1]=ans2[i][j];
}
}
flag=1;
}
swap(n,m);
}
void rotate_90(int &n,int&m){
if(flag==1){
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
ans2[m-j+1][i]=ans1[i][j];
}
}
flag=2;
}else if(flag==2){
for(int i=1;i<=n;i++){
fo...
登录后发布评论
暂无评论,来抢沙发