#3498. [GESP二级模拟]空心金字塔大合集

[GESP二级模拟]空心金字塔大合集

题目描述

小杨在美术课上学习绘制空心图形。老师给出两个参数:一个正整数 nn 和一个字符 KK。字符 KK 决定图形的形状与方向,共有四种取值:L(向左)、R(向右)、U(向上)、D(向下)。

  • 当 KK 为 L 或 R 时,输出一个共 2n−12n-1 行的空心菱形;
  • 当 KK 为 U 或 D 时,输出一个共 nn 行的空心三角形。

当 n=5n = 5 时,四种方向对应的图形如下。

当 KK 等于 L 时,输出尖角朝左的空心菱形:

    *
   **
  * *
 *  *
*   *
 *  *
  * *
   **
    *

当 KK 等于 R 时,输出尖角朝右的空心菱形:

*
**
* *
*  *
*   *
*  *
* *
**
*

当 KK 等于 U 时,输出尖角朝上的空心三角形:

    *
   * *
  *   *
 *     *
*********

当 KK 等于 D 时,输出尖角朝下的空心三角形:

*********
 *     *
  *   *
   * *
    *

请根据给定的 nn 与 KK,输出对应的空心图形。

输入格式

输入一行,包含一个正整数 nn 和一个字符 KK,中间用一个空格分隔。

输出格式

按题目要求输出对应的空心图形。每行末尾换行,行尾不要有多余空格。

样例 #1

2 L
 *
**
 *

样例解释 #1

n=2n = 2、KK 为 L,输出 2n−1=32n-1=3 行的空心菱形:顶点一个 *,中间一行两个 * 相邻,底部顶点一个 *。

样例 #2

3 U
  *
 * *
*****

样例解释 #2

n=3n = 3、KK 为 U,输出 n=3n=3 行的空心三角形,底边为 2×3−1=52 \times 3 - 1 = 5 个 *。

数据范围

2≤n≤202 \le n \le 20;KK 为字符 L、R、U、D 之一。

子任务 分值 测试点 附加约束
11 2525 001∼005001 \sim 005 KK 为 L
22 006∼010006 \sim 010 KK 为 R
33 011∼015011 \sim 015 KK 为 U
44 016∼020016 \sim 020 KK 为 D

四个子任务相互独立。每个子任务只有在其包含的所有测试点输出都完全正确时,才获得该子任务对应的分数;某一个方向的图形画错,不影响其他方向的得分。