http://acm.hdu.edu.cn/showproblem.php?pid=4706
Children's Day
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 32768/32768 K (Java/Others)
Problem Description
Today is Children's Day. Some children ask you to output a big letter 'N'. 'N' is constituted by two vertical linesand one diagonal. Each pixel of this letter is a character orderly. No tail blank is allowed. For example, this is a big 'N' start with 'a' and it's size is 3.
a e
bdf
c g
Your task is to write different 'N' from size 3 to size 10. The pixel character used is from 'a' to 'z' continuously and periodic('a' is reused after 'z').
Input
This problem has no input.
Output
Output different 'N' from size 3 to size 10. There is no blank line among output.
Sample Output
a e
bdf
c g
h n
i m o
j l p
k q
.........
r j
Hint
Not all the resultsare listed in the sample. There are just some lines. The ellipsis expresseswhat you should write.
Source
分析:
输出由字符组成的‘N’ , 三到十的大小。(模拟一下就可以啦)
AC代码:
#include<cstdio>
#include<cstring>
using namespace std;
char map[][];
int main() {
int k = ;
for(int n = ;n <= ;n++) { //memset(map,'\n',sizeof(map));
for(int i = ;i <= n;i++) {
for(int j = ;j < n;j++) {
if(i == || i == n - || i + j == n - ) {
map[j][i] = k % + 'a';
k++;
} else if(i == n) {
map[j][i] = '\0';
} else map[j][i] = ' ';
}
} for(int i = ;i < n;i++)
printf("%s\n",map[i]);
}
return ;
}