zoukankan      html  css  js  c++  java
  • 1251: 字母图形 [水题]

    1251: 字母图形 [水题]

    时间限制: 1 Sec 内存限制: 128 MB

    提交: 140 解决: 61 统计

    题目描述

    利用字母可以组成一些美丽的图形,下面给出了一个例子:

    ABCDEFG

    BABCDEF

    CBABCDE

    DCBABCD

    EDCBABC

    这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。

    输入

    输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。

    输出

    输出n行,每个m个字符,为你的图形。

    1  < =  n,  m  < =  26

    样例输入

    5 7
    

    样例输出

    ABCDEFG
    BABCDEF
    CBABCDE
    DCBABCD
    EDCBABC
    

    来源

    用一个栈和两个队列(其实用一个队列应该也可以)来维护就可以了

    #include<cstdio>
    #include<stack>
    #include<queue>
    
    using namespace std;
    
    int main()
    {
        int n,m;
        char c;
    
        scanf("%d %d", &n, &m);
    
        queue<char> que1;
        queue<char> que2;
        stack<char> s;
    
        for(int i = 1; i < 26; i++)
        {
            c = 'A' + i;
            que1.push(c);
        }
        for(int i = m-1; i >= 0; i--)
        {
            c = 'A' + i;
            que2.push(c);
        }
        for(int i = 1; i <= n; i++)
        {
            for(int j = 0; j < m; j++)
            {
                c = que2.front();
                que2.pop();
                s.push(c);
                que2.push(c);
            }
            for(int k = 0; k < m; k++)
            {
                printf("%c", s.top());
                s.pop();
            }
            c = que1.front();
            que1.pop();
            que2.push(c);
            que2.pop();
            printf("
    ");
        }
    
        return 0;
    }
    View Code
    永远渴望,大智若愚(stay hungry, stay foolish)
  • 相关阅读:
    Linux进程管理与任务计划
    Linux磁盘存储和文件系统
    Oracle Net
    Oracle常用命令
    Ansible之playbook,yaml文件详解
    ansible配置文件详解
    linux学习笔记12-lap+mysql主从+proxy
    Linux 学习笔记11-lamp+redis主从
    Linux学习笔记10-kickstart批量安装centos7
    Linux学习笔记9-ftp服务器
  • 原文地址:https://www.cnblogs.com/h-hkai/p/8097485.html
Copyright © 2011-2022 走看看