爱我你就直说吗~
题号:NC313167
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

在情人节,Xuan2333看到很多人都在成双成对的秀恩爱,他非常羡慕,他也想要很多很多的❤️,可是他没有qwq。所以他想要自己送自己一个实心的大爱心矩阵(爱自己才是最重要的呀),但是不想要太单调,于是他做出了以下规定:
输出一个爱心,并且对于大小为n的爱心和字符串s,当一个位置是空的、在心形的内部并且上下左右四个位置中至少存在一个位置的字符为s[i],则此处的字符将为s[i]的下一位,起始从心的最外圈的轮廓开始循环,若s[i]已为最后一位则变成第1位重新循环

输入描述:

总共输入两行
第一行输入一个数奇数n(5≤n≤299)表示需要构造的爱心的长度和宽度
第二行输入一个字符串s(保证给出的字符串长度小于)

输出描述:

输出大小为n*n的字符矩阵,爱心以外的地方需要输出 ' - ',爱心的轮廓详见样例
示例1

输入

复制
7
abc

输出

复制
-aa-aa-
abbabba
abcbcba
abcccba
-abcba-
--aba--
---a---

说明


示例2

输入

复制
11
xuan

输出

复制
-xxxx-xxxx-
xuuuuxuuuux
xuaaauaaaux
xuannannaux
xuanxnxnaux
xuanxxxnaux
-xuanxnaux-
--xuanaux--
---xuaux---
----xux----
-----x-----

说明

本样例中,最外圈为"x",其次为“u”,“a”,“n”,最后又循环到了"x"

备注: