2019年第十七届绍兴市少儿信息学竞赛复赛试题第三题(题目概述+答案)

NO.3:花坛

洛洛在散步的时候,看到公园的正方形花坛里开放着许多他不认识的花卉。仔细观察之后,他又发现这些花的种植位置是有规律的。
洛洛发现在正方形花坛的最外层,即第一层上的花都是同一颜色;而花坛的第二层,花的颜色又都是一样的……正方形花坛由若干层花构成,同一层上的花都是同一颜色的,不同层之间的花颜色不一定相同。如下图所示,是一个具有三层花的正方形花坛:
 



在回到家后,洛洛还记得花坛有几层花围成,以及每层花的颜色,花的颜色用英文大小写字母来表示。但是洛洛忘记了整个花坛的图像,洛洛希望你根据他的描述,把整个花坛的图像用计算机打印字符的方式表示出来。
 

输入

第一行输入一个整数 n,表示正方形花坛有 n 层花。
第二行输入 n 个字符,第 i 个字符表示第 i 层花的颜色。第一层是花坛最外层。第n 层是花坛最内层,只有一朵花。

输出

输出 2*n-1 行,由(2*n-1)*(2*n-1)个字符组成的花坛的图像。 

样例输入 
3
abC
样例输出 
aaaaa
abbba
abCba
abbba
aaaaa

 

题目讲解:

找规律:第一行有一种字母,第二行有两种字母,第三行有三种字母。

对于第i行,有i种字母。

前面i-1种字母都出现两次

其他所有位置上都有第i种字母,是从第i个位置到2n-i个位置。

#include<bits/stdc++.h>
using namespace std;
int n;
string s;
int main(){
    cin>>n>>s;
    for(int i=1;i<=2*n-1;i++)
    {
        for(int j=1;j<=2*n-1;j++)
        {
            int k=min(min(i,j),min(2*n-i,2*n-j));
            cout<<s[k-1];
        }
        cout<<endl;
    }
    return 0;
}

 

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值