C++

Timeloop 发表于 1年前 · 关联问题 Matrix

include

using namespace std;

int main(){

int n,m; int count=0;//以顺时针转为基 int op; cin>>n>>m; int **M=new int*[n]; //⠀ ⠀⠀⠀ ⠰⢷⢿⠄ int **t=new int*[n]; // ⠀⠀⠀⠀⠀⣼⣷⣄ for(int i=0;i<n;i++){ // ⠀⠀⣤⣿⣇⣿⣿⣧⣿⡄ M[i]=new int[n]; // ⢴⠾⠋⠀⠀⠻⣿⣷⣿⣿⡀ t[i]=new int[n]; // 篮球 ⠀⢀⣿⣿⡿⢿⠈⣿ } // ⠀⠀⠀⢠⣿⡿⠁⠀⡊⠀⠙ for(int i=0;i<(n*n);i++){ // ⠀ ⠀⠀⢿⣿⠀⠀⠹⣿ cin>>M[i/n][i%n]; //⠀ ⠀⠀⠀⠹⣷⡀⠀⣿⡄ } //⠀⠀ ⠀⠀⣀⣼⣿⠀⢈⣧ for(int j=0;j<m;j++){ count=0; cin>>op; switch(op){ case 1:count++;break; case 2:count+=3;break; case 3:count+=2;break; } count%=4; if(count<0)count+=4; for(int x=0;x<count;x++){ for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ t[i][j]=M[n-j-1][i]; } } for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ M[i][j]=t[i][j]; } } } for(int i=0;i<(n*n);i++){ if((i+1)%n==0)cout<<t[i/n][i%n]<<endl; else cout<<t[i/n][i%n]<<' '; } cout<<endl; } return 0;

}