九度题目1432:叠筐
来源:互联网 发布:如何搭建阿里云服务器 编辑:程序博客网 时间:2024/05/16 18:32
- 题目描述:
把一个个大小差一圈的筐叠上去,使得从上往下看时,边筐花色交错。这个工作现在要让计算机来完成,得看你的了。
- 输入:
输入是一个个的三元组,分别是,外筐尺寸n(n为满足0<n<80的奇整数),中心花色字符,外筐花色字符,后二者都为ASCII可见字符;
- 输出:
输出叠在一起的筐图案,中心花色与外筐花色字符从内层起交错相叠,多筐相叠时,最外筐的角总是被打磨掉。叠筐与叠筐之间应有一行间隔。
- 样例输入:
11 B A 5 @ W
- 样例输出:
AAAAAAAAAABBBBBBBBBAABAAAAAAABAABABBBBBABAABABAAABABAABABABABABAABABAAABABAABABBBBBABAABAAAAAAABAABBBBBBBBBA AAAAAAAA @@@@WWW@@W@W@@WWW@ @@@
代码如下:
#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;char map[80][80];void draw(char m[82][82], char c, int begin, int end){ for(int i = begin; i < end; i++){ for(int j = begin; j < end; j++){ map[i][j] = c; } }}int main(){ int n; char c1, c2; char c[2]; while(scanf("%d %c %c", &n, &c1, &c2) != EOF){ if(n<=0 || n>=80){ break; } if(((n-1)/2)%2){ c[1] = c1; c[0] = c2; } else{ c[0] = c1; c[1] = c2; } for(int i = 0; i < n; i++){ draw(map, c[i%2], i, n-i); } if(n>1){ map[0][0] = ' '; map[0][n-1] = ' '; map[n-1][0] = ' '; map[n-1][n-1] = ' '; } for(int i = 0; i < n; i++){ for(int j = 0; j < n; j++){ printf("%c", map[i][j]); } printf("\n"); } printf("\n"); } return 0;}
PS:注意while循环处要加 !=EOF,不然会出现Output Limit Exceed的错误。。
0 0
- 九度 题目1432:叠筐
- 九度题目1432:叠筐
- 九度-题目1432:叠筐
- 九度题目1432
- 九度OJ 题目1432:叠筐
- 题目1432:叠筐 九度OJ
- 【学习笔记】〖九度OJ〗题目1432:叠筐
- 九度Online Judge 题目1432:叠筐 解答
- 九度题目1202
- 九度题目1061
- 九度题目1185
- 九度题目1023
- 九度题目1054
- 九度题目1096
- 九度题目1043
- 九度题目1070
- 九度题目1186
- 九度题目1018
- Spring MVC上传图片,Java二进制图片写入数据库,生成略缩图
- PHP 重定向方法小结
- 北漂程序员,8年恋爱,凄美的结局
- IOS下Category添加属性字段
- hibernate 一对多,一对一小结
- 九度题目1432:叠筐
- 设置PL/SQL Developer 字符集
- Windows7系统下将UltraEdit添加到鼠标右键菜单
- js弹出窗口
- centos6.6 从源码编译安装mysql5.7.5
- phoenixframe自动化平台使用多批次数据进行接口测试的示例
- HDU 2059
- java线程:大总结
- Linux 下的两个特殊的文件 -- /dev/null 和 /dev/zero 简介及对比