2074 叠筐

关键字: 代码分享 杭电100题

问题描述

Problem Description

需要的时候,就把一个个大小差一圈的筐叠上去,使得从上往下看时,边筐花色交错。这个工作现在要让计算机来完成,得看你的了。

Input

输入是一个个的三元组,分别是,外筐尺寸n(n为满足0<n<80的奇整数),中心花色字符,外筐花色字符,后二者都为ASCII可见字符;

Output

输出叠在一起的筐图案,中心花色与外筐花色字符从内层起交错相叠,多筐相叠时,最外筐的角总是被打磨掉。叠筐与叠筐之间应有一行间隔。

Sample Input

11 B A
5 @ W

Sample Output

 AAAAAAAAA 
ABBBBBBBBBA
ABAAAAAAABA
ABABBBBBABA
ABABAAABABA
ABABABABABA
ABABAAABABA
ABABBBBBABA
ABAAAAAAABA
ABBBBBBBBBA
 AAAAAAAAA 

 @@@ 
@WWW@
@W@W@
@WWW@
 @@@ 

问题分析

Problem Analyse

简单题

Algorithm Analyse

仔细观察一下那张图,你会发现,第i层框的长宽都是从i->n-i,只要对这个范围内的数组进行填充就可以了。

算法实现

最后的空格还是要求输出的,题目比较BT。

参考源码

redraiment使用Emacs Lisp批量迁移《HDU 2070-2079》