#include <bits/stdc++.h> #define MAX 50 using namespace std; //上下反转 void Topfilp(int (&data)[6][6],int x,int y,int size){ for(int i = 0; i < size /2; i++){ //翻转次数控制 for(int j = y; j <= y + size -1; j++){ //控制列 swap(data[x + i][j] , data[x + size -1 - i][j]); } } } //左右反转 void Leftfilp(int (&data)[6][6],int x,int y,int size){ for(int i = 0; i < size / 2; i++){ //翻转次数控制 for(int j = x; j <= x + size -1; j++){ //控制行 swap(data[j][y + i],data[j][y + size -1 -i]); } } } //对称反转 void DuiCheng(int (&data)[6][6],int x,int y,int size){ for(int i = 0; i <= size - 1; i++){ for(int j = i + 1; j <= size - 1; j++){ swap(data[x + i][y + j],data[x + j][y + i]); } } } void Print(int data[6][6]){ for(int i = 1; i <= 5; i++){ for(int j = 1;j <= 5; j++){ cout<<data[i][j]<<" "; } cout<<endl; } } int main(){ int data[6][6],i,j; for(i = 1; i <= 5; i++){ for(j = 1;j <= 5; j++){ cin>>data[i][j]; } } int a,b,x,y; cin>>a>>b>>x>>y; if(a == 1 && b == 2){ Topfilp(data,x,y,2); DuiCheng(data,x,y,2); }else if(a == 1 && b == 3){ Topfilp(data,x,y,3); DuiCheng(data,x,y,3); }else if(a == 2 && b == 2){ Leftfilp(data,x,y,2); DuiCheng(data,x,y,2); }else if(a == 2 && b == 3){ Leftfilp(data,x,y,3); DuiCheng(data,x,y,3); } Print(data); }