叠筐

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 24295    Accepted Submission(s): 6405

Problem Description
需要的时候,就把一个个大小差一圈的筐叠上去,使得从上往下看时,边筐花色交错。这个工作现在要让计算机来完成,得看你的了。
Input
输入是一个个的三元组,分别是,外筐尺寸n(n为满足0<n<80的奇整数),中心花色字符,外筐花色字符,后二者都为ASCII可见字符;
Output
输出叠在一起的筐图案,中心花色与外筐花色字符从内层起交错相叠,多筐相叠时,最外筐的角总是被打磨掉。叠筐与叠筐之间应有一行间隔。
Sample Input
11 B A5 @ W
Sample Output
AAAAAAAAA ABBBBBBBBBAABAAAAAAABAABABBBBBABAABABAAABABAABABABABABAABABAAABABAABABBBBBABAABAAAAAAABAABBBBBBBBBA AAAAAAAAA @@@ @WWW@@W@W@@WWW@ @@@
Author
qianneng
Source
浙江工业大学网络选拔赛

问题链接:HDU2074 叠筐

问题描述:(略)

问题分析

这是一个打印字符图案的问题。

该问题的关键是,需要先算出打印几圈,然后一圈一圈地打印。圈控制变量(程序中的k)映射为行和列下标是关键。还需要注意特殊情况。

程序说明:(略)

参考链接:(略)

题记:(略)

AC的C++语言程序如下:

/* HDU2074 叠筐 */#include <iostream>
#include <stdio.h>using namespace std;const int N = 80;
char m[N][N];int main()
{int n, ccnt = 0;char a, b, c;while(~scanf("%d %c %c", &n, &a, &b)) {int r = 0;for (int k = (n + 1) / 2 - 1; k >= 0; k--) {c = (r % 2 == 0) ? a : b;r++;// 画横线for (int i=k, j=i; j<n-i; j++) {m[i][j] = c;m[n - i - 1][j] = c;}// 画竖线for (int i=k, j=i; j<n-i; j++) {m[j][i] = c;m[j][n - i - 1] = c;}}// 四个角m[0][n - 1] = m[0][0] = ' ';m[n - 1][0] = m[n - 1][n - 1] = ' ';if(++ccnt != 1)printf("\n");if(n == 1)printf("%c\n", a);else {for(int i = 0; i < n; i++) {for(int j = 0; j < n; j++)printf("%c", m[i][j]);printf("\n");}}}return 0;
}

HDU2074 叠筐【打印图案】相关推荐

  1. HDOJ 2074 叠筐

    Problem Description 需要的时候,就把一个个大小差一圈的筐叠上去,使得从上往下看时,边筐花色交错.这个工作现在要让计算机来完成,得看你的了. Input 输入是一个个的三元组,分别是 ...

  2. 题目1065:输出梯形 (直接用循环控制输出)+题目1432:叠筐 (数组控制形状,最后输出数组)...

    题目1065:输出梯形 (直接用循环控制输出)+ 样例输入: 4 样例输出:                        ****************** ********** 题目1432:叠 ...

  3. javafor循环打印图案_C程序使用循环打印盒子图案

    javafor循环打印图案 Input a number and print the following box pattern in C language, 输入数字并以C语言打印以下框形 , 4 ...

  4. JSK-16014 打印字母图形【打印图案】

    打印字母图形 由键盘输入一个大写字母(A 到 Z 中的任意一个),输出如下图所示由相关大写字母组成的图形.所输入的字母一定为输出文件的第一个字符(位于图形的左上角),其余部分的字母构成规律和分布由样例 ...

  5. NUC1154 Vertical Histogram【打印图案】

    Vertical Histogram 时间限制: 1000ms 内存限制: 10000KB 通过次数: 1总提交次数: 1 问题描述 Write a program to read four line ...

  6. 【C语言】打印图案总结

    目录 一.打印实心图形 二.打印空心图形 三.打印具体图形以及一些典型的应用题 四.一些碎碎念 前言:1.这里有许多讲法可能不是那么严谨,只是为了方便自己理解和记忆的. 2.一般而言,打印图形的话,有 ...

  7. 打印图案系列(菱形、X形、箭形、空心正方形)

    打印图案系列 菱形 箭形 X形 空心正方形 大致思路: 仔细观察图形,可以发现,图形都中是由空格和*按照不同个数的输出组成的. 在菱形图案和箭型图案中我们可分上部分和下部分分别输出 而X形和,空心正方 ...

  8. springBoot启动成功控制台打印图案

    springBoot启动成功控制台打印图案 文章目录 springBoot启动成功控制台打印图案 前言 一.使用步骤 1.生成图案连接 2.代码展示 3.图案展示 3.字体建议 前言 SpringBo ...

  9. c语言 打印共九行的菱形,用C语言打印图案的几种实现方法

    循环的使用 维普资讯 http://doc.xuehai.net 科技伯. 1 1 0计算机与信息技术 0 S IN E I F R TO CE C N O MA I N 20 06年第 4期 用 C ...

最新文章

  1. Python使用pandas读取两个或者多个excel文件(xlsx)并进行数据连接(join)合并两个或者多个excel的信息
  2. Android 之 沉浸式状态栏及顶部状态栏背景色设置
  3. Redux源码浅析系列(二):`combineReducer`
  4. 将 Smart 构件发布到 Maven 中央仓库
  5. 1.15 实例内部类
  6. springboot多数据源配置_SpringBoot-配置多数据源
  7. Android无线调试——抛开USB数据线
  8. SetWinEventHook和SetWindowsHookEx的异同[转]
  9. C++11新特性之右值引用
  10. utf-8下编辑的时候字体不能直接识别,但是可以识别 unicode 编码表
  11. tortoisegit 还原到某个版本
  12. 在线问题反馈模块实战(十七):实现excel模板在线下载功能
  13. java随机数使用技巧(超简单)
  14. Qt之调用Windows图片查看器预览图片
  15. 分享一个好用的53度飞天茅台抢购脚本
  16. Codeforces Round #828 (Div. 3) E2. Divisible Numbers (hard version)
  17. 微信开放平台-第三方平台开发配置及常见的问题
  18. 基于Qt5 的串口助手开发
  19. 1638_chdir函数的功能
  20. unity中移动部件靠近时触发动画,模型替换特效演示

热门文章

  1. 开源GIS(十四)——openlayers通过geoserver中WFS更改要素
  2. nbi可视化_用数据可视化的方式做汇报,更容易显现成绩、升职加薪更近一步
  3. linux 虚拟机设置静态ip
  4. vue中使用kindeditor编辑器_vue中使用kindeditor富文本编辑器
  5. Ubuntu中切换用户
  6. python: for循环时列表长度改变,会发生什么?
  7. php camp,Byte Camp
  8. python3.6中内置函数变化
  9. 负载均衡算法 : 加权轮询
  10. MIPS之u-boot流程分析