hdu 2074 叠框
2016-09-22 22:57
246 查看
E - 叠筐
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d
& %I64u
Submit Status
Description
需要的时候,就把一个个大小差一圈的筐叠上去,使得从上往下看时,边筐花色交错。这个工作现在要让计算机来完成,得看你的了。
Input
输入是一个个的三元组,分别是,外筐尺寸n(n为满足0<n<80的奇整数),中心花色字符,外筐花色字符,后二者都为ASCII可见字符;
Output
输出叠在一起的筐图案,中心花色与外筐花色字符从内层起交错相叠,多筐相叠时,最外筐的角总是被打磨掉。叠筐与叠筐之间应有一行间隔。
Sample Input
Sample Output
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d
& %I64u
Submit Status
Description
需要的时候,就把一个个大小差一圈的筐叠上去,使得从上往下看时,边筐花色交错。这个工作现在要让计算机来完成,得看你的了。
Input
输入是一个个的三元组,分别是,外筐尺寸n(n为满足0<n<80的奇整数),中心花色字符,外筐花色字符,后二者都为ASCII可见字符;
Output
输出叠在一起的筐图案,中心花色与外筐花色字符从内层起交错相叠,多筐相叠时,最外筐的角总是被打磨掉。叠筐与叠筐之间应有一行间隔。
Sample Input
11 B A 5 @ W
Sample Output
AAAAAAAAA ABBBBBBBBBA ABAAAAAAABA ABABBBBBABA ABABAAABABA ABABABABABA ABABAAABABA ABABBBBBABA ABAAAAAAABA ABBBBBBBBBA AAAAAAAAA @@@ @WWW@ @W@W@ @WWW@ @@@ 思路:这题有很多的做法,也可以直接暴力输出,我是根据规律来变得,开一个二维字符数组,当i>j时就要变一下,j>=n-1-i时也要变,我每次取每一行的前面的比后面的少一个,因为这样还可以经过循环变回来,比如第三行 前面的 A B 后面为 A B A 这好为一个循环,另外哪一个元素在外面 看 (n-1)%4==? 不等于0 则交换位置 等于则不变 ac代码: #include<stdio.h> int main() { char map[100][100] ; int n,i,j,flag=0; char a,c,t,mark; while(scanf("%d %c %c",&n,&a,&c)!=EOF) { if(flag) printf("\n"); flag=1; if((n-1)%4) { t=a; a=c; c=t; } for(i=0;i<=n/2;i++) { t=a; mark=1; for(j=0;j<n;j++) { if((i==0&&n!=1&&(j==0||j==n-1))) { putchar(' '); map[i][j]=' '; continue; } map[i][j]=t; putchar(t); if(i>j||j>=n-1-i) { if(mark) { t=c; 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'); } } } hdu 2074
相关文章推荐
- HDU 2073 叠框
- HDU 2074 叠筐
- hdu 2074 输出图形
- hdu 2074 堆放篮 好开心图纸标题
- hdu 2074
- HDU 2070 叠框
- hdu 2074 叠筐 好有意思的绘图题
- HDU 2074 叠筐 (字符处理)
- HDU 2074 叠筐(基础字符串处理)
- hdu 2074 叠筐
- HDU_2074 叠筐
- hdu 2074
- hdu 4544 叛逆的小明 -- 数字反转 和 hdu 2074 叠筐(水题)
- HDU_2074叠筐
- HDU - 2074 叠筐(字符图案)
- HDU 2074 叠筐
- hdu 2074 叠筐 好有意思的画图题
- HDU 2074 叠筐
- hdu-oj 2074 叠筐
- hdu 2074 叠筐(数论)