hdu 杭电2074 叠筐
来源:互联网 发布:人工智能权威期刊 编辑:程序博客网 时间:2024/05/02 05:03
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@ @@@
#include<stdio.h>char map[100][100];int main(){ int n,i,j,mark; char a,b,t,flag=0; while(~scanf("%d %c %c",&n,&a,&b)) { if(flag) putchar('\n'); flag=1; if((n-1)%4)//判断哪个在最外面,这个是找规律 { t=a; a=b; b=t; } t=a,mark=1;//t和mark的初始化 for(i=0;i<=n/2;i++) { t=a; mark=1; for(j=0;j<n;j++) { if(n!=1&&i==0&&(j==0||j==n-1))//注意n==1的时候 { putchar(' '); map[i][j]=' '; continue;} map[i][j]=t; putchar(t); if(i>j||j>=(n-1)-i)//这也是找规律,什么时候要变 { if(mark)//轮流变化 { t=b; mark=0; } else { t=a; mark=1; } } } putchar('\n'); } for(i=n/2-1;i>=0;i--) { for(j=0;j<n;j++) { printf("%c",map[i][j]); } putchar('\n'); } } return 0;}
0 0
- hdu 杭电2074 叠筐
- 杭电 hdu 3415
- 杭电 hdu 1009
- 【HDU 杭电 1155】
- 杭电 HDU 2199
- 杭电2074叠筐
- 杭电 hdu 2614 Beat
- hdu 杭电acm 1002
- 杭电ACM HDU 1004
- 杭电ACM HDU 1002
- 杭电ACM HDU 1008
- 杭电ACM HDU 1013
- 杭电ACM HDU 1014
- 杭电hdu 逃离迷宫
- 杭电 HDU 1072 Nightmare
- 杭电 HDU 1242 Rescue
- 杭电2111-Saving HDU
- 杭电HDU-1106排序
- 冒泡排序算法笔记
- C++ 异常处理流程
- LeetCode(60) Permutation Sequence
- 为什么要重写hashcode() 方法
- zoj2405
- hdu 杭电2074 叠筐
- Burnside引理与Polya定理
- 编译时和运行时的关系
- 深入剖析Android四大组件(二)——Service服务之启动与绑定
- Leetcode:Add Two Sum
- Gson与FastJson解析性能分析
- CART生成算法
- hdu 3957 Street Fighter 重复覆盖于+精确覆盖 DancingLink
- [DT大数据梦工厂]-scala-ubuntu14.10下scala环境的搭建