【题解提供者】吴立强
解法
思路
本题代码非常简单,直接一行一行对齐后输出即可,只是比较麻烦。
代码展示
#include <iostream>
using namespace std;
int main() {
printf(" ********\n");
printf(" ************\n");
printf(" ####....#.\n");
printf(" #..###.....##....\n");
printf(" ###.......###### ### ###\n");
printf(" ........... #...# #...#\n");
printf(" ##*####### #.#.# #.#.#\n");
printf(" ####*******###### #.#.# #.#.#\n");
printf(" ...#***.****.*###.... #...# #...#\n");
printf(" ....**********##..... ### ###\n");
printf(" ....**** *****....\n");
printf(" #### ####\n");
printf(" ###### ######\n");
printf("##############################################################\n");
printf("#...#......#.##...#......#.##...#......#.##------------------#\n");
printf("###########################################------------------#\n");
printf("#..#....#....##..#....#....##..#....#....#####################\n");
printf("########################################## #----------#\n");
printf("#.....#......##.....#......##.....#......# #----------#\n");
printf("########################################## #----------#\n");
printf("#.#..#....#..##.#..#....#..##.#..#....#..# #----------#\n");
printf("########################################## ############\n");
return 0;
}
算法分析
程序时间复杂度为 O ( 1 ) O(1) O(1)。
拓展
其实可以发挥程序批量处理的能力,让程序自行打印出中间代码,然后复制粘贴过来即可。
拓展 --> 代码展示
#include <iostream>
using namespace std;
int main() {
/// 打开文件输出流
freopen("gt.txt", "w", stdout);
string s;
/// 一行一行的处理到文件尾(getline 函数可以百度了解)
while(getline(cin, s)) {
/// 输出 printf 语句
cout << "\tprintf(\"" << s << "\\n\");" << endl;
}
return 0;
}
拓展 --> 输入情况
其中 ^z 是组合键 ctrl+z 代表输入文件结束。
拓展 --> 运行结果
复制上述代码至主函数内部即可提交通过。