标签:hdu2074
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 12124 Accepted Submission(s): 3123
11 B A 5 @ W
AAAAAAAAA ABBBBBBBBBA ABAAAAAAABA ABABBBBBABA ABABAAABABA ABABABABABA ABABAAABABA ABABBBBBABA ABAAAAAAABA ABBBBBBBBBA AAAAAAAAA @@@ @WWW@ @W@W@ @WWW@ @@@
这题必须要很细心而且要注意特殊数据,比如n=1时。
#include <stdio.h>
#define maxn 82
char map[maxn][maxn];
int main()
{
int n, i, j, k, sign, len, ii, cas = 1;
char ch[2];
while(scanf("%d %c %c", &n, &ch[0], &ch[1]) != EOF){
sign = ((n / 2) & 1);
for(i = 0; i < n / 2; ++i, sign = !sign){
len = n - i * 2;
k = len - 1; j = i;
while(k--) map[i][j++] = ch[sign];
k = len - 1; ii = i;
while(k--) map[ii++][j] = ch[sign];
k = len - 1;
while(k--) map[ii][j--] = ch[sign];
k = len - 1;
while(k--) map[ii--][j] = ch[sign];
}
map[n/2][n/2] = ch[0];
if(n != 1)
map[0][0] = map[0][n-1] = map[n-1][0] = map[n-1][n-1] = ' ';
if(cas++ != 1) printf("\n");
for(i = 0; i < n; ++i){
map[i][n] = '\0';
printf("%s\n", map[i]);
}
}
return 0;
}
标签:hdu2074
原文地址:http://blog.csdn.net/chang_mu/article/details/38277941