NOEL - Cây thông Noel

Xem dạng PDF

Gửi bài giải


Điểm: 2,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, PyPy, Python, Ruby, Rust, Scratch, Swift

Để chuẩn bị cho lễ giáng sinh sắp đến, bạn Nam định trang trí cho nhà của mình một cây thông Noel có 3 tầng.

Tầng thứ nhất là các lá thông tạo thành hình tam giác cân có chiều cao là n. Dọc theo 2 cạnh của cây thông, Nam trang trí thêm các đèn LED nhấp nháy. Các lá thông biểu diễn bằng ký tự 'x', đèn LED biểu diễn bằng ký tự '#'. Tính cả đèn và lá thông thì tại mỗi dòng sẽ có số lượng lần lượt là 1, 3, 5, ... , 2*n-1.

Tầng thứ hai và tầng thứ ba cũng tương tự như tầng thứ nhất nhưng lớn hơn. Tầng thứ hai có n+1 dòng và tầng thứ 3 có n+2 dòng.

Input

  • Là số nguyên n (2 ≤ n ≤20), chiều cao của tầng thông thứ nhất.

Output

  • Là cây thông Noel theo yêu cầu trên. Cây thông bỏ vừa khít vào một khung hình chữ nhật, trong khung, những phần trống được biểu diễn bởi dấu .

Sample

Input #1
3
Output #1
....#....
...#x#...
..#xxx#..
....#....
...#x#...
..#xxx#..
.#xxxxx#.
....#....
...#x#...
..#xxx#..
.#xxxxx#.
#xxxxxxx#

Problem source: NTUCoder.net


Bình luận

Please read the guidelines before commenting.



  • 0
    vutientuan_001  đã bình luận lúc 13, Tháng 10, 2025, 14:32

    include <bits/stdc++.h>

    using namespace std;

    int main() { int n; cin >> n;

    int tang = 3; int c = 2 * (n + tang - 1) - 1; for (int o = 1; o <= tang; o++) { for (int i = 0; i < n + (o - 1); i++) { for (int j = 0; j < c; j++) { int trai = (c / 2) - i; int phai = (c / 2) + i;

            if (j == trai || j == phai) cout << "#";
            else if (j > trai && j < phai) cout << "x";
            else cout << ".";
        }
        cout << "\n";
    }
    

    }

    return 0; }