Problem:
パターンの回転

8 文字 × 8 行のパターンを右回りに 90 度、180 度、270 度回転させて出力するプログラムを作成してください。

Input

8 文字 × 8 行からなるパターンが与えられます。文字は、英数字、半角シャープ '#' 、アスタリスク '*' からなります。

Output

次の形式で、回転させたパターンを出力してください。

90（半角数字固定）
90度回転させたパターン
180（半角数字固定）
180度回転させたパターン
270（半角数字固定）
270度回転させたパターン

Sample Input

#*******
#*******
#*******
#*******
#*******
#*******
#*******
########

Output for the Sample Input

90
########
#*******
#*******
#*******
#*******
#*******
#*******
#*******
180
########
*******#
*******#
*******#
*******#
*******#
*******#
*******#
270
*******#
*******#
*******#
*******#
*******#
*******#
*******#
########

Solution in JAVA (judge verdict: Accepted)

import java.util.*;

class Main {
  public static void main (String[] args) {
    final int NUM = 8;
    Scanner scanner = new Scanner(System.in);
    char[][] in = new char[NUM][NUM];
    char[][] out = new char[NUM][NUM];
    while (scanner.hasNext()) {
      for (int row = 0; row < NUM; row++) {
        String line = scanner.nextLine();
        for (int col = 0; col < NUM; col++) {
          in[row][col] = line.charAt(col);
        }
      }
    }

    for (int ii = 90; ii < 360; ii += 90) {
      System.out.println(ii);
      for (int row = 0; row < NUM; row++) {
        for (int col = 0; col < NUM; col++) {
          out[col][NUM - 1 - row] = in[row][col];
        }
      }
      for (int row = 0; row < NUM; row++) {
        for (int col = 0; col < NUM; col++) {
          System.out.print(out[row][col]);
          in[row][col] = out[row][col];
        }
        System.out.println();
      }
    }
  }
}