10 条题解
-
0
#include<bits/stdc++.h> using namespace std; int n; int a[105][105]; void op1() { int b[105]; for(int i=1;i<=n;i++) { b[i]=a[1][i]; } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { a[i-1][j]=a[i][j]; } } for(int i=1;i<=n;i++) { a[n][i]=b[i]; } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { cout<<a[i][j]<<" "; } cout<<endl; } } void op2() { int b[105]; for(int i=1;i<=n;i++) { b[i]=a[n][i]; } for(int i=n;i>=1;i--) { for(int j=1;j<=n;j++) { a[i+1][j]=a[i][j]; } } for(int i=1;i<=n;i++) { a[1][i]=b[i]; } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { cout<<a[i][j]<<" "; } cout<<endl; } } void op3() { int b[105]; for(int i=1;i<=n;i++) { b[i]=a[i][1]; } // for(int i=1;i<=n;i++){ // cout<<b[i]<<" "; // } // cout<<endl; for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { a[j][i-1]=a[j][i]; } // for(int i=1;i<=n;i++) // { // for(int j=1;j<=n;j++) // { // cout<<a[i][j]<<" "; // } // cout<<endl; // } // cout<<endl; } for(int i=1;i<=n;i++) { a[i][n]=b[i]; } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { cout<<a[i][j]<<" "; } cout<<endl; } } void op4() { int b[105]; for(int i=1;i<=n;i++) { b[i]=a[i][n]; } // for(int i=1;i<=n;i++){ // cout<<b[i]<<" "; // } // cout<<endl; for(int i=n;i>=1;i--) { for(int j=1;j<=n;j++) { a[j][i+1]=a[j][i]; } // for(int i=1;i<=n;i++) // { // for(int j=1;j<=n;j++) // { // cout<<a[i][j]<<" "; // } // cout<<endl; // } // cout<<endl; } for(int i=1;i<=n;i++) { a[i][1]=b[i]; } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { cout<<a[i][j]<<" "; } cout<<endl; } } void op5() { int b[105][105]; memset(b,0,sizeof(b)); for(int i=1;i<=n;i++) { int t[105]; for(int j=1;j<=n;j++) { b[i][j]=a[j][i]; } for(int j=1;j<=n;j++) { t[n-j+1]=b[i][j]; } for(int j=1;j<=n;j++) { b[i][j]=t[j]; } } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { a[i][j]=b[i][j]; } } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { cout<<a[i][j]<<" "; } cout<<endl; } cout<<endl; } void op6() { int b[105][105]; memset(b,0,sizeof(b)); for(int i=1;i<=n;i++) { int t[105]; for(int j=1;j<=n;j++) { t[n-j+1]=a[i][j]; } for(int j=1;j<=n;j++) b[n-i+1][j]=t[j]; } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { a[i][j]=b[i][j]; } } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { cout<<a[i][j]<<" "; } cout<<endl; } cout<<endl; } void op7() { int b[105][105]; memset(b,0,sizeof(b)); for(int i=1;i<=n;i++) { int t[105]; for(int j=1;j<=n;j++) { t[n-j+1]=a[i][j]; } for(int j=1;j<=n;j++) { b[j][i]=t[j]; } } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { a[i][j]=b[i][j]; } } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { cout<<a[i][j]<<" "; } cout<<endl; } cout<<endl; } int main() { int q; cin>>n>>q; for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { cin>>a[i][j]; } } while(q--) { int op; cin>>op; if(op==1) { op1(); }else if(op==2) { op2(); }else if(op==3) { op3(); }else if(op==4) { op4(); }else if(op==5) { op5(); }else if(op==6) { op6(); }else if(op==7) { op7(); } } return 0; }
279行```
信息
- ID
- 2956
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 649
- 已通过
- 166
- 上传者