#14100: NA 80% 求解


rabbit922 (芮芮)

學校 : 國立臺灣師範大學附屬高級中學
編號 : 61930
來源 : [140.122.187.28]
最後登入時間 :
2020-02-26 14:01:09
b266. 矩陣翻轉 -- 2016 APCS 實作題第二題 | From: [124.219.6.236] | 發表日期 : 2018-06-13 15:36

#include<iostream>
int r,c,m;
using namespace std;
int main(){
cin>>r>>c>>m;
int matrix[r][c];
for(int i=0;i<r;i++){
for(int j=0;j<c;j++){
cin>>matrix[i][j];
}
}
int a=-1,b,direct=0;
while(m--){
cin>>b;
if(b==1){
if(direct==0||direct==2){
for(int i=0;i<r/2;i++){
for(int j=0;j<c;j++){
swap(matrix[i][j],matrix[r-i-1][j]);
}
}
}
else{
for(int i=0;i<c/2;i++){
for(int j=0;j<r;j++){
swap(matrix[j][i],matrix[j][c-i-1]);
}
}
}
}
else{
direct++;
direct%=4;
}
a=b;
}
if(direct==0||direct==2)cout<<r<<" "<<c<<"\n";
else cout<<c<<" "<<r<<"\n";
if(direct==0){
for(int i=0;i<r;i++){
for(int j=0;j<c;j++){
if(j!=0)cout<<" ";
cout<<matrix[i][j];
}
cout<<"\n";
}
}
if(direct==1){
for(int j=0;j<c;j++){
for(int i=r-1;i>-1;i--){
if(i!=r-1)cout<<" ";
cout<<matrix[i][j];
}
cout<<"\n";
}
}
if(direct==2){
for(int i=r-1;i>-1;i--){
for(int j=c-1;j>-1;j--){
if(j!=c-1)cout<<" ";
cout<<matrix[i][j];
}
cout<<"\n";
}
}
if(direct==3){
for(int j=c-1;j>-1;j--){
for(int i=0;i<r;i++){
if(i!=0)cout<<" ";
cout<<matrix[i][j];
}
cout<<"\n";
}
}
}

 
ZeroJudge Forum