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("\n");
    }

    return 0;
}

时间: 2024-10-02 18:50:34

1251: 字母图形 [水题]的相关文章

蓝桥杯 基础练习 字母图形【经典字符类题】

基础练习 字母图形 时间限制:1.0s   内存限制:256.0MB 问题描述 利用字母可以组成一些美丽的图形,下面给出了一个例子: ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC 这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形. 输入格式 输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数. 输出格式 输出n行,每个m个字符,为你的图形. 样例输入 5 7 样例输出 ABCDEFG BABCDEF CBABCDE DCBAB

[ZPG TEST 114] 阿狸的英文名【水题】

1.      阿狸的英文名 阿狸最近想起一个英文名,于是他在网上查了很多个名字.他发现一些名字可以由两个不同的名字各取一部分得来,例如John(约翰)的前缀 "John"和Robinson(鲁滨逊)的后缀 "son" 连在一起就是Johnson. 现在他找到了两个喜欢的名字(名字可看作字符串),用A和B表示,他想知道取A的一个非空前缀和B的一个非空后缀,连接在一起能组成多少不同的字符串. 输入格式 输入两行,分别表示字符串A和B:字符串只包含小写英文字母. 输出格

UVa 1586 Molar mass --- 水题

UVa 1586 题目大意:给出一种物质的分子式(不带括号),求分子量.本题中分子式只包含4种原子,分别为C.H.O.N, 原子量分别为12.01,1.008,16.00,14.01 解题思路:先实现一个从字符型的数到整型的数的转换函数,再将输入的串从头到尾扫描,遇到字母,则进一步扫描后面的数字的区间, 再调用函数进行转换,再乘以其的原子质量,最后累加到sum中即可. /* UVa 1586 Molar mass --- 水题 */ #include <cstdio> #include <

1001 字符串“水”题

1001: 字符串“水”题 时间限制: 1 Sec  内存限制: 128 MB提交: 210  解决: 39[提交][状态][讨论版] 题目描述 给出一个长度为 n 的字符串(1<=n<=100000),求有多少个连续字串中所有的字母都出现了偶数次. 输入 第一行一个正整数 T,表示数据组数(1 <= T <= 10). 接下来 T 行,每行有一个只包含小写字母的字符串. 输出 每个答案输出满足要求字符串个数.每个答案占一行. 样例输入 3 a aabbcc abcabc 样例输出

POJ百道水题列表

以下是poj百道水题,新手可以考虑从这里刷起 搜索1002 Fire Net1004 Anagrams by Stack1005 Jugs1008 Gnome Tetravex1091 Knight Moves1101 Gamblers1204 Additive equations 1221 Risk1230 Legendary Pokemon1249 Pushing Boxes 1364 Machine Schedule1368 BOAT1406 Jungle Roads1411 Annive

一道超级坑爹的水题(ACdream oj 无耻的出题人)

 A - 无耻的出题人 Time Limit: 2000/1000 MS (Java/Others)      Memory Limit: 65536/32768 KB (Java/Others) Submit Status Problem Description 听到X神要参加比赛,只会Fibnacci数的出题人被吓得哭晕在厕所.为了防止X神AK(ALL KILL)比赛题目,无耻的出题人只好在题面上做些手脚(加密).其中一道题的题目描述如下: hjxh dwh v vxxpde,mmo i

2.4-?:转C++脑子康复水题训练

4/∞ 这里是日常的脑子康复转C++训练.真是失策啊把第一月计任务和转语言弄一起了 为了转语言刷的水题都羞耻于扔月计上凑数(这个坑用来装羞耻题 一样不放题目,需要的自行baidu.com --------------------- 1.蛇形填数 1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 #define MAXN 25 5 using namespace std; 6 int a[MAXN]

UVa 1584 Circular Sequence --- 水题

UVa 1584 题目大意:给定一个含有n个字母的环状字符串,可从任意位置开始按顺时针读取n个字母,输出其中字典序最小的结果 解题思路:先利用模运算实现一个判定给定一个环状的串以及两个首字母位置,比较二者字典序大小的函数, 然后再用一层循环,进行n次比较,保存最小的字典序的串的首字母位置,再利用模运算输出即可 /* UVa 1584 Circular Sequence --- 水题 */ #include <cstdio> #include <cstring> //字符串s为环状,

UVa 1339 Ancient Cipher --- 水题

UVa 1339 题目大意:给定两个长度相同且不超过100个字符的字符串,判断能否把其中一个字符串重排后,然后对26个字母一一做一个映射,使得两个字符串相同 解题思路:字母可以重排,那么次序便不重要,可以分别统计两个字符串中的各个字母出现的次数,得到两个cnt[26]数组, 又由于可以进行映射,则可以直接对两个数组进行排序后判断是否相等(相当于原来相等的值的两个地方做映射) /* UVa 1339 Ancient Cipher --- 水题 */ #include <cstdio> #incl