hdu 2074 叠筐
2014-10-16 20:47
405 查看
叠筐
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 12377 Accepted Submission(s): 3196
Problem 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@ @@@
/*题解:
此题格式控制极为严格。
注意:
1.四角均有空格,要输出空格字符' '。
2.除第一次输入外,以后每一次输入后均为先换行后输出。
3.箩筐最中心的字符为第一个字符。
*/
输出格式形如:
#include<cstdio> #include<cstring> int main() { int n,i,j,t1,t2,ok=0; char a,b,map[88][88]; while(scanf("%d %c %c",&n,&a,&b)!=EOF) { if(ok) { printf("\n"); } ok=1; memset(map,0,sizeof(map)); if(n==1) {printf("%c\n",a);continue;} t1=t2=(n+1)/2; while(1) { for(i=t1; i<=t2; i++) { for(j=t1; j<=t2; j++) { if(map[i][j]==0) map[i][j]=a; } } t1--; t2++; if(t1==0) break; for(i=t1; i<=t2; i++) { for(j=t1; j<=t2; j++) { if(map[i][j]==0) map[i][j]=b; } } t1--; t2++; if(t1==0) break; } map[1][1]=map [1]=' '; map[1] =map =' '; for(i=1; i<=n; i++) { for(j=1; j<=n; j++) { printf("%c",map[i][j]); } printf("\n"); } } return 0; }
相关文章推荐
- hdu 杭电2074 叠筐
- HDU 2074 叠筐
- HDU 2074 叠筐
- [恢]hdu 2074
- hdu 2074 输出图形
- hdu 2074 堆放篮 好开心图纸标题
- hdu 2074 叠筐 好有意思的绘图题
- 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 2074 叠筐