fork download
  1. #include<iostream>
  2. #include<vector>
  3. using namespace std;
  4.  
  5. vector<vector<int>> operasi_hori(vector<vector<int>>& me){
  6. int N=me.size();
  7. int M=me[0].size();
  8. for(int i=0;i<N/2;i++){
  9. for(int j=0;j<M;j++){
  10. swap(me[i][j], me[i+N-1][j]);
  11. }
  12. }
  13. return me;
  14. }
  15.  
  16. vector<vector<int>> operasi_ver(vector<vector<int>>& me){
  17. int N=me.size();
  18. int M=me[0].size();
  19. for(int i=0;i<N;i++){
  20. for(int j=0;j<M/2;j++){
  21. swap(me[i][j], me[i][j+N-1]);
  22. }
  23. }
  24. return me;
  25. }
  26.  
  27. int main(){
  28. int t[100][100],y[100][100],x,M,N;
  29. cin>>N>>M>>x;
  30.  
  31. vector<vector<int>> me(N, vector<int>(M));
  32. for(int i=0;i<N;i++){
  33. for(int j=0;j<M;j++){
  34. cin>>me[i][j];
  35. }
  36. }
  37.  
  38. while(x!=0){
  39. string op;
  40. cin>>op;
  41. if(op=="_"){
  42. operasi_hori(me);
  43. }else if(op=="|"){
  44. operasi_ver(me);
  45. }
  46. x--;
  47. }
  48.  
  49. N=me.size();
  50. M=me[0].size();
  51.  
  52. for(int i=0;i<N;i++){
  53. for(int j=0;j<M;j++){
  54. cout<<me[i][j]<<" ";
  55. }cout<<endl;
  56. }
  57. }
Success #stdin #stdout 0.01s 5272KB
stdin
3 3 1
1 2 3
4 5 6
7 8 9
|
stdout
3 2 1 
6 5 4 
9 8 7