九度OJ 题目1432:叠筐
来源:互联网 发布:什么叫网络设计? 编辑:程序博客网 时间:2024/06/05 20:17
内存限制:128 兆 时间限制:1 秒
- 题目描述:
把一个个大小差一圈的筐叠上去,使得从上往下看时,边筐花色交错。这个工作现在要让计算机来完成,得看你的了。
- 输入:
输入是一个个的三元组,分别是,外筐尺寸n(n为满足0<n<80的奇整数),中心花色字符,外筐花色字符,后二者都为ASCII可见字符;
- 输出:
输出叠在一起的筐图案,中心花色与外筐花色字符从内层起交错相叠,多筐相叠时,最外筐的角总是被打磨掉。叠筐与叠筐之间应有一行间隔。
- 样例输入:
11 B A 5 @ W
- 样例输出:
AAAAAAAAAABBBBBBBBBAABAAAAAAABAABABBBBBABAABABAAABABAABABABABABAABABAAABABAABABBBBBABAABAAAAAAABAABBBBBBBBBA AAAAAAAAA @@@@WWW@@W@W@@WWW@ @@@
- 本题思路:
先定义二维数组,再由内到外一圈一圈填充字符,最后去掉四个角。
# include <iostream># include <string.h>using namespace std; int main(){ int n,m,i,j; char IN,OUT; while(cin>>n>>IN>>OUT&&n>0&&n<80&&n%2!=0) { char pic[n+1][n+1],K; int f=0; for(m=(n+1)/2;m>=1;m--)//由最内层框开始循环 { f++;//f用来计数框数的奇偶 if(f%2==1) K=IN; else if(f%2==0) K=OUT; for(i=m;i<=n+1-m;i++)//分别按行、列 成圈填充 { pic[m][i]=K; pic[n+1-m][i]=K; pic[i][m]=K; pic[i][n+1-m]=K; } } if(n!=1) { pic[1][1]=' ';pic[1][n]=' ';pic[n][1]=' ';pic[n][n]=' '; } for(i=1;i<=n;i++) { for(j=1;j<=n;j++) cout<<pic[i][j]; cout<<endl; } cout<<endl; }}/************************************************************** Problem: 1432 Language: C++ Result: Accepted Time:10 ms Memory:1520 kb****************************************************************/
Tips:
1.本题要注意框数为1时,边角不需打磨;
2.“叠筐与叠筐之间应有一行间隔”指的是整个叠筐输出完后有一行间隔。(在这里PE了好几次)
0 0
- 九度OJ 题目1432:叠筐
- 题目1432:叠筐 九度OJ
- 【学习笔记】〖九度OJ〗题目1432:叠筐
- 九度OJ 题目1029
- 九度OJ 题目1018
- 九度OJ 题目1002
- 九度OJ-1432:叠筐
- 九度oj 1432 叠筐
- 九度OJ 题目1058:反序输出
- 九度OJ 题目1062:分段函数
- 九度OJ 题目1063:整数和
- 九度OJ 题目1066:字符串排序
- 九度OJ 题目1089:数字反转
- 九度OJ 题目1098:字母统计
- 九度OJ 题目1032:ZOJ
- 九度OJ 题目1115:数字求和
- 九度OJ 题目1022:游船出租
- 九度OJ 题目1206:字符串连接
- 数据结构中树的相关概念
- Linux学习笔记--ls命令(查询目录中的内容)
- Multiple data source configuration: Spring + ibatis
- ios MVC模式浅析
- configure Smart tips (DTD file config)
- 九度OJ 题目1432:叠筐
- oAuth
- 创建cookie
- UITabBarController来管理多个UIViewController以及导航栏的加入
- Linux下如何使用锐捷
- pycharm输出中文为乱码
- mac myEclipse 更改jre版本
- git将本地项目推送到远程
- HDOJ 2033 人见人爱A+B