#define DEBUG(var) cout << "[DEBUG]" << #var << " = " << var << endl
using namespace std;

const int x = int(pow(3, 7));
int arr[x][x] = {0};
void print(int arr[][x], int n, int x, int y) {
  if (n == 1)
    arr[x][y] = 1;
  else {
    int t = int(pow(3, n - 1 - 1));
    print(arr, n - 1, x, y);
    print(arr, n - 1, x + t + t, y);
    print(arr, n - 1, x + t, y + t);
    print(arr, n - 1, x, y + t + t);
    print(arr, n - 1, x + t + t, y + t + t);
  }
}

int main() {
  do {
    int n;
    scanf("%d", &n);
    if (n == -1) break;
    int t = int(pow(3, n - 1));
    int x = 0, y = 0;
    print(arr, n, x, y);
    for (int i = 0; i < t; i++) {
      for (int j = 0; j < t; j++) {
        if (arr[i][j])
          printf("X");
        else
          printf(" ");
      }
      printf("\n");
    }
    printf("-\n");
  } while (1);

  return 0;
}

0 条评论

目前还没有评论...