文章
1
粉丝
26
获赞
1
访问
643
两个矩阵交替使用,避免每次操作使用修改后的元素带来错误。 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...
登录后发布评论
暂无评论,来抢沙发