zoukankan      html  css  js  c++  java
  • [蓝桥杯][历届试题]打印十字图

    [蓝桥杯][历届试题]打印十字图

    时间限制: 1Sec 内存限制: 128MB 提交: 49 解决: 31

    题目描述
    历届试题  打印十字图  
    时间限制:1.0s     内存限制:256.0MB 
         
    问题描述 
    小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示: 
    ..$$$$$$$$$$$$$..
    ..$...........$..
    $$$.$$$$$$$$$.$$$
    $...$.......$...$
    $.$$$.$$$$$.$$$.$
    $.$...$...$...$.$
    $.$.$$$.$.$$$.$.$
    $.$.$...$...$.$.$
    $.$.$.$$$$$.$.$.$
    $.$.$...$...$.$.$
    $.$.$$$.$.$$$.$.$
    $.$...$...$...$.$
    $.$$$.$$$$$.$$$.$
    $...$.......$...$
    $$$.$$$$$$$$$.$$$
    ..$...........$..
    ..$$$$$$$$$$$$$..

    对方同时也需要在电脑dos窗口中以字符的形式输出该标志,并能任意控制层数。 

    提示 
    请仔细观察样例,尤其要注意句点的数量和输出位置。  

    输入
    一个正整数  n  (n< 30)  表示要求打印图形的层数。  
    输出
    对应包围层数的该标志。
    样例输入
    3  
    样例输出
    ..$$$$$$$$$$$$$..
    ..$...........$..
    $$$.$$$$$$$$$.$$$
    $...$.......$...$
    $.$$$.$$$$$.$$$.$
    $.$...$...$...$.$
    $.$.$$$.$.$$$.$.$
    $.$.$...$...$.$.$
    $.$.$.$$$$$.$.$.$
    $.$.$...$...$.$.$
    $.$.$$$.$.$$$.$.$
    $.$...$...$...$.$
    $.$$$.$$$$$.$$$.$
    $...$.......$...$
    $$$.$$$$$$$$$.$$$
    ..$...........$..
    ..$$$$$$$$$$$$$.. 
    /*
    ..$$$$$$$$$$$$$..
    ..$...........$..
    $$$.$$$$$$$$$.$$$
    $...$.......$...$
    $.$$$.$$$$$.$$$.$
    $.$...$...$...$.$
    $.$.$$$.$.$$$.$.$
    $.$.$...$...$.$.$
    $.$.$.$$$$$.$.$.$
    $.$.$...$...$.$.$
    $.$.$$$.$.$$$.$.$
    $.$...$...$...$.$
    $.$$$.$$$$$.$$$.$
    $...$.......$...$
    $$$.$$$$$$$$$.$$$
    ..$...........$..
    ..$$$$$$$$$$$$$.. 
    */
    #include<stdio.h>
    char a[150][150] ;
    void DFS(int x,int y,int cur);
    void PRINT(int n);
    int main(void)
    {
        int n,length;
        scanf("%d",&n);
        length=4*n+5;
        for(int i=1;i<=length;i++)
            for(int j=1;j<=length;j++)
                a[i][j]='.';
        DFS(1,1,n);
        PRINT(n);
    }
    void DFS(int x,int y,int cur)
    {
        if(cur < 0) return ;
        int length = 4*cur+5;
        for(int j=y+2;j<y+2+length-4;j++) a[x][j]=a[x+length-1][j]='$';
        
        a[x+1][y+2]='$';  a[x+1][y+length-3]='$'; a[x+length-2][y+2]='$'; a[x+length-2][y+length-3]='$';
        a[x+2][y+2]='$';  a[x+2][y+length-3]='$'; a[x+length-3][y+2]='$'; a[x+length-3][y+length-3]='$';
        a[x+2][y+1]='$';  a[x+2][y+length-2]='$'; a[x+length-3][y+1]='$'; a[x+length-3][y+length-2]='$';
    
        for(int i=x+2;i<x+2+length-4;i++) a[i][y]=a[i][y+length-1]='$';
        DFS(x+2,y+2,cur-1);    
    }
    void PRINT(int n)
    {
        int length = 4*n+5;
        for(int i=1;i<=length;i++) a[i][length+1]='';
        for(int i=1;i<=length;i++) printf("%s
    ",a[i]+1);    
    }
  • 相关阅读:
    [BJOI2006]狼抓兔子
    [HNOI2016]最小公倍数
    hihocoder 1419 重复旋律4
    [NOI2015]品酒大会
    [SDOI2016]生成魔咒
    [ZJOI2009]狼和羊的故事
    BZOJ4361 isn
    [SDOI2009]虔诚的墓主人
    BZOJ 3329 Xorequ
    [ZJOI2013]丽洁体
  • 原文地址:https://www.cnblogs.com/zuimeiyujianni/p/8677905.html
Copyright © 2011-2022 走看看