• 【UOJ 222】正方形二分型


    【题目描述】:

    下面这个图形是不是很熟悉,对同学们在学LOGO语言时,用海龟画过类似的图形,现在你能用C语言画出来吗?

     N=1              N=2
    * * *      * * *       * * *
    *   *      *   *       *   *
    * * *      * * *       * * *
               * * * * * *
               *         *
               *         *
               *         *
               *         *
               * * * * * *
    
                       N=3
    * * *       * * *       * * *       * * *
    *   *       *   *       *   *       *   *
    * * *       * * *       * * *       * * *
    * * * * * *             * * * * * *
    *         *             *         *
    *         *             *         *
    *         *             *         *
    *         *             *         *
    * * * * * *             * * * * * *
    * * * * * * * * * * * *
    *                     *
    *                     *
    *                     *
    *                     *
    *                     *
    *                     *
    *                     *
    *                     *
    *                     *
    *                     *
    * * * * * * * * * * * *

    【输入描述】:

    输入一个正整数N;

    【输出描述】:

    输出正方形的N层二分形,行末没有多余空格。

    【样例输入】:

    2

    【样例输出】:

    * * *       * * *
    *   *       *   *
    * * *       * * *
    * * * * * *
    *         *
    *         *
    *         *
    *         *
    * * * * * *

    【时间限制、数据范围及描述】:

    时间:1s 空间:64M

    N<=9

    题解:模拟大法好(?)网站测100,老师机器lemon测80 ,原封不动的代码,吐了。。。

    #include<cstdio>
    #include<iostream>
    #include<cmath>
    #include<cstdlib>
    #include<cstring>
    #include<algorithm>
    #include<bits/stdc++.h>
    typedef long long ll;
    using namespace std;
    int n;
    int main(){
        freopen("twopart.in","r",stdin);
        freopen("twopart.out","w",stdout);
        scanf("%d",&n);
        for(int i=1,j=n;i<=n;i++,j--){
            int t=pow(2,j-1);//这一行有t个正方形 
            int l=3*pow(2,i-1);//每个正方形的边长 
            
            for(int jj=1;jj<t;jj++){
                for(int k=1;k<=l;k++) printf("* ");
                for(int k=1;k<=l;k++) printf("  ");
            }
            for(int k=1;k<l;k++) printf("* "); printf("*");
            printf("
    "); //第一排
             
            for(int h=2;h<l;h++){
                for(int jj=1;jj<t;jj++){
                    printf("*");
                    for(int k=2;k<l;k++) printf("  ");
                    printf(" * ");
                    for(int k=1;k<=l;k++) printf("  ");
                }
                printf("*");
                for(int k=2;k<l;k++) printf("  ");
                printf(" *
    ");
                
            } // 第2~n-1排 
            
            for(int jj=1;jj<t;jj++){
                for(int k=1;k<=l;k++) printf("* ");
                for(int k=1;k<=l;k++) printf("  ");
            }
            for(int k=1;k<l;k++) printf("* "); printf("*");
            printf("
    "); //第n排
            
        }
        return 0;
    }
  • 相关阅读:
    简单伪类
    购物网页css
    「WC2020T2」猜数
    ARC 103
    Codeforces 1198F
    ZJOI2019二试游记
    ZJOI2019一试游记
    「WC2015」未来程序
    「CodeForces Round #545 Div2」划水记
    「CF1116」Microsoft Q# Coding Contest
  • 原文地址:https://www.cnblogs.com/wuhu-JJJ/p/13767792.html
Copyright © 2020-2023  润新知