时间限制: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
输出
复制
-aa-aa-
abbabba
abcbcba
abcccba
-abcba-
--aba--
---a---
示例2
输出
复制
-xxxx-xxxx-
xuuuuxuuuux
xuaaauaaaux
xuannannaux
xuanxnxnaux
xuanxxxnaux
-xuanxnaux-
--xuanaux--
---xuaux---
----xux----
-----x-----
说明
本样例中,最外圈为"x",其次为“u”,“a”,“n”,最后又循环到了"x"
备注:
