返回列表 發帖
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int R, C, M, x;
  4. int a[11][11], b[11][11];
  5. void rFlip()
  6. {
  7.     for (int i=0; i<R; i++)
  8.     {
  9.         for (int j=0; j<C; j++)
  10.         {
  11.             b[i][j] = a[i][j];
  12.         }
  13.     }
  14.     for (int i=0; i<R; i++)
  15.     {
  16.         for (int j=0; j<C; j++)
  17.         {
  18.             a[i][j] = b[R-1-i][j];
  19.         }
  20.     }
  21. }
  22. void rRotate()
  23. {
  24.      for (int i=0; i<R; i++)
  25.     {
  26.         for (int j=0; j<C; j++)
  27.         {
  28.             b[i][j] = a[i][j];
  29.         }
  30.     }
  31.     for (int j=C-1; j>=0; j--)
  32.     {
  33.         for (int i=0; i<R; i++)
  34.         {
  35.             a[C-1-j][i] = b[i][j];
  36.         }
  37.     }
  38.     swap(R, C);
  39. }
  40. int main()
  41. {
  42.     while (cin >> R >> C >> M)
  43.     {
  44.         for (int i=0; i<R; i++)
  45.         {
  46.             for (int j=0; j<C; j++)
  47.             {
  48.                 cin >> a[i][j];
  49.             }
  50.         }
  51.         int op[M];
  52.         for (int i=0; i<M; i++)
  53.         {
  54.             cin >> op[i];
  55.         }
  56.         for (int i = M - 1; i >= 0; i--)
  57.         {
  58.             if (op[i] == 0) rRotate();
  59.             else rFlip();
  60.         }

  61.         cout << R << ' ' << C << '\n';
  62.         for (int i=0; i<R; i++)
  63.         {
  64.             for (int j=0; j<C; j++)
  65.             {
  66.                 cout << a[i][j];
  67.                 if (j < C-1)
  68.                 {
  69.                     cout << ' ';
  70.                 }
  71.             }
  72.             cout << '\n';
  73.         }
  74.     }
  75.     return 0;
  76. }
複製代碼

TOP

返回列表