叠筐 - 九度教程第15题

本文介绍了九度教程第15题的叠筐问题,涉及图形排列与输出策略。通过使用二维数组进行图形预排版,按照由内至外的顺序确定每个圈的坐标和边长,再依据奇偶性填充不同花色的字符,最终完成图形的构建和打磨角部。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

叠筐 - 九度教程第15题

题目

时间限制:1 秒 内存限制:128 兆 特殊判题:否
题目描述:
把一个个大小差一圈的筐叠上去,使得从上往下看时,边筐花色交错。这个工作现在要让计算机来完成,得看你的了。
输入:
输入是一个个的三元组,分别是,外筐尺寸n(n为满足0<n<80的奇整数),中心花色字符,外筐花色字符,后二者都为ASCII可见字符;
输出:
输出叠在一起的筐图案,中心花色与外筐花色字符从内层起交错相叠,多筐相叠时,最外筐的角总是被打磨掉。叠筐与叠筐之间应有一行间隔。
样例输入:
11 B A
5 @ W
样例输出:
在这里插入图片描述
在这里插入图片描述

其输出图形的规律性主要体现在由内而外的各个环上,而这与输出顺序又不太契合(从上至下,从左至右),不容易将该图形存在的规律直接应用到输出当中,所以需要使用刚才所提到的办法——先排版后输出。先用一个二维数组来保存将要输出的字符阵列,并在该数组上首先完成排版。因为没有了输出时从上至下、从左至右的顺序限制,能更加随意的按照自己的需要或者图形的规律来依次输出图形,从而完成题目要求。

利用一个缓存数组来表示将要输出的字符阵列,规定阵列左上角字符坐标为(1,1),阵列右下角字符坐标为(n,n),其它坐标可由此推得。程序按照由最内圈至最外圈的的顺序来完成图形的排列。
在完成每圈排列时都需要注意两个要点:

  • 首先需要确定该圈左上角的坐标。将以这个坐标为参照点来完成该圈的其它字符位置的确定(当然也可以选用其它点
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值