题目1161:Repeater(规律输出图形)

题目1161:Repeater 题目链接:http://ac.jobdu.com/problem.php?pid=1161

具体分析:https://github.com/zpfbuaa/JobduInCPlusPlus

参考代码:

//
//  1161 Repeater.cpp
//  oj
//
//  Created by PengFei_Zheng on 05/04/2017.
//  Copyright © 2017 PengFei_Zheng. All rights reserved.
//

#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <string.h>
#include <cstdio>
#include <stdlib.h>
#include <cmath>

using namespace std;

int n,q;
char buf[3001][3001];
char sample[3001][3001];
char board[6][6];

void init(int a, int b, int n){
    for(int i = 0 ; i < n ; i ++){
        for(int j = 0 ; j < n ; j ++){
            buf[a * n + i][b * n + j]=‘ ‘;
        }
    }
}

void copy(int a, int b, int n){
    for(int i = 0 ; i < n ; i ++){
        for(int j = 0 ; j < n ; j++){
            buf[a * n + i][b * n + j] = sample[i][j];
        }
    }
}

void update(int n){
    for(int i = 0 ; i < n ; i ++){
        for(int j = 0 ; j < n ; j ++){
            sample[i][j]=buf[i][j];
        }
    }
}

int main(){
    while(scanf("%d",&n)!=EOF&&n!=0){
        getchar();
        for(int i = 0 ; i < n ; i ++){
            for(int j = 0 ; j < n ; j ++){
                scanf("%c",&buf[i][j]);
                board[i][j]=buf[i][j];
            }
            getchar();
        }
        scanf("%d",&q);
        int size = n ;
        for(int k = 2 ; k <= q ; k++){
            update(size);
            for(int i = 0 ; i < n ; i++){
                for(int j = 0; j < n ; j++){
                    if(board[i][j]==‘ ‘)
                        init(i,j,size);
                    else
                        copy(i,j,size);
                }
            }
            size = pow(n,k);
        }
        for(int i = 0 ; i < size ; i ++){
            for(int j = 0 ; j < size ; j ++){
                printf("%c",buf[i][j]);
            }
            cout<<endl;
        }
    }
    return 0;
}

/**************************************************************
    Problem: 1161
    User: zpfbuaa
    Language: C++
    Result: Accepted
    Time:210 ms
    Memory:19200 kb
****************************************************************/
时间: 2024-08-06 01:25:17

题目1161:Repeater(规律输出图形)的相关文章

程序题目:输出图形 输入:n为打出图形的行数, m为每行的个数,t为图形符号

package com.day; import java.util.Scanner; public class M { public static void main(String[] args) { Scanner sc=new Scanner(System.in); /* System.out.println("用户请输入图形的行数="+"每行的个数="+"图形符号="); int n=sc.nextInt(); int m=sc.nextI

21.输出图形

* * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * * * * * * * * * * * #include<iostream>using namespace std; int main(){    for(int i=0;i<5;i++)    {        for(int j=1;j<=4-i;j++)        {            cout<<" ";     

20.输出图形

* ** *** **** ***** **** *** ** * #include<iostream>using namespace std; int main(){    for(int i=1;i<=5;i++)    {        for(int j=1;j<=i;j++)        {            cout<<"*";        }        cout<<endl;    }    for(int m=

22.输出图形

(1) 1 1  2 1  2  3 1  2  3  4 1  2  3  4  5 1  2  3  4  5  6 #include<iostream> #include <iomanip> using namespace std; int main() { for(int i=1;i<=6;i++) { for(int j=1;j<=i;j++) { cout<<setw(2)<<j; } cout<<endl; } retu

题目1161:Repeater

//转载于 http://blog.csdn.net/qq_24421591/article/details/51025144 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1715 解决:618 题目描述: Harmony is indispensible in our daily life and no one can live without it----may be Facer is the only exception. One day it is rumored that

LeetCode 38 Count and Say(字符串规律输出)

题目链接:https://leetcode.com/problems/count-and-say/?tab=Description 1—>11—>21—>1211—>111221—>312211—>…. 按照上面的规律进行求解出第n个字符串是什么. 规律:相连的数字有多少个然后添加上这个数字 参考代码: package leetcode_50; /*** * * @author pengfei_zheng * 按照规律进行求解字符串 */ public class So

For嵌套输出图形

/*输出此图形    *   * *  * * * * * * ** * * * *  * * * *   * * *   * *     *解析:可以把此图形看成两部分----*---* *--* * *-* * * ** * * * * -* * * * --* * *---* * ----* //上半部分解析i行数  j-数  k*数0        4      11        3      22        2      33        1      44        0 

python 题目:斐波那契数列计算;题目:站队顺序输出;题目:合法括号组合的生成;题目:用户登录(三次机会)

斐波那契数列计算 B 描述 斐波那契数列如下: F(0) = 0, F(1) = 1 F(n) = F(n-1) + F(n-2) 编写一个计算斐波那契数列的函数,采用递归方式,输出不超过n的所有斐波那契数列元素 调用上述函数,完成如下功能: 用户输入一个整数n,输出所有不超过n的斐波那契数列元素.输出数列的元素和及平均数,输出按照顺序,用英文逗号和空格分割 此题目为自动评阅,请严格按照要求规范输入和输出. def jebona(n): if n==0: return 0 elif n == 1

浙大版《C语言程序设计(第3版)》题目集 练习2-3 输出倒三角图案 (5 分)

练习2-3 输出倒三角图案 (5 分) 本题要求编写程序,输出指定的由"*"组成的倒三角图案. 输入格式: 本题目没有输入. 输出格式: 按照下列格式输出由"*"组成的倒三角图案. * * * * * * * * * *思路:格式化输出,注意换行.代码如下: #include<stdio.h> int main () { printf("* * * *\n"); printf(" * * *\n"); printf