fork(1) download
  1. #include <iostream>
  2. using namespace std;
  3. void print_board(int x);
  4. void make_board(int n, int x, int y);
  5. char board[6144][3072];
  6. int main()
  7. {
  8. int num;
  9. cin >> num;
  10. for (int i = 0; i < num; i++)
  11. {
  12. for (int j = 0; j < num * 2; j++)
  13. {
  14. board[i][j] = ' ';
  15. }
  16. }
  17. make_board(num, num-1, 0);
  18. print_board(num);
  19. }
  20. void print_board(int x)
  21. {
  22. for (int i = 0; i < x; i++)
  23. {
  24. for(int j=0;j<x*2;j++)
  25. {
  26. if (i != x - 1 || j != x * 2 - 1)
  27. cout << board[j][i];
  28. }
  29. if(i!=x-1)
  30. cout << '\n';
  31. }
  32. }
  33. void make_board(int n, int x, int y)
  34. {
  35. if (n == 3)
  36. {
  37. board[x][y] = '*';
  38. board[x - 1][y + 1] = '*';
  39. board[x + 1][y + 1] = '*';
  40. for (int i = 0; i < 5; i++)
  41. {
  42. board[x - 2 + i][y + 2] = '*';
  43. }
  44. }
  45. else
  46. {
  47. make_board(n / 2, x, y);
  48. make_board(n / 2, x - n / 2, y + n / 2);
  49. make_board(n / 2, x + n / 2, y + n / 2);
  50. }
  51. }
Success #stdin #stdout 0s 4360KB
stdin
6
stdout
     *
    * *
   *****
  *   *
 * *  **
***** *****