HDU 2074 叠筐
2014-07-26 19:18
423 查看
叠筐
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 12105 Accepted Submission(s): 3113
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@ @@@
Author
qianneng
Source
浙江工业大学网络选拔赛
Recommend
linle | We have carefully selected several similar problems for you: 1039 1073 2160 2153 1256
Statistic | Submit | Discuss | Note
#include<stdio.h> char matrix[85][85]; int main() { int n; char center,out,a,b; int cas = 0; while(scanf("%d %c %c",&n,&a,&b) == 3) { if(cas) printf("\n"); if(n == 1) printf("%c\n",a); else { int i,j,k; int len = (n+1)/2; if(len%2 == 0){ center = a; out = b; } else { center = b; out = a; } for(j = 0;j < len;j++) { if(j%2 == 0) { for(k = j;k < n-j;k++) { matrix[j][k]=matrix[k][j]=matrix[n-j-1][k]=matrix[k][n-j-1]=out; } } else { for(k = j;k < n-j;k++) { matrix[j][k]=matrix[k][j]=matrix[n-j-1][k]=matrix[k][n-j-1]=center; } } } matrix[0][0]=matrix[n-1][n-1]=matrix[0][n-1]=matrix[n-1][0]=' '; for(i = 0;i < n;i++){ for(j = 0;j < n;j++){ printf("%c",matrix[i][j]); } printf("\n"); } } cas++; } 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 2074 叠框
- HDU - 2074 叠筐(字符图案)
- hdu 4544 叛逆的小明 -- 数字反转 和 hdu 2074 叠筐(水题)
- HDU_2074叠筐
- HDU 2074 叠筐
- HDU 2074 叠筐
- HDU - 2074