题解:洛谷 P1000 超级玛丽游戏
【题目来源】
【题目描述】
超级玛丽是一个非常经典的游戏。请你用字符画的形式输出超级玛丽中的一个场景。
********
************
####....#.
#..###.....##....
###.......###### ### ###
........... #...# #...#
##*####### #.#.# #.#.#
####*******###### #.#.# #.#.#
...#***.****.*###.... #...# #...#
....**********##..... ### ###
....**** *****....
#### ####
###### ######
##############################################################
#...#......#.##...#......#.##...#......#.##------------------#
###########################################------------------#
#..#....#....##..#....#....##..#....#....#####################
########################################## #----------#
#.....#......##.....#......##.....#......# #----------#
########################################## #----------#
#.#..#....#..##.#..#....#..##.#..#....#..# #----------#
########################################## ############
【输入】
无
【输出】
如描述
【算法标签】
《洛谷 P1000 超级玛丽游戏》 #字符串# #O2优化#
【代码详解】
#include <iostream> // 包含标准输入输出流库
using namespace std; // 使用标准命名空间
/**
* 主函数 - 程序入口
* @return 程序执行状态码(0表示成功)
*/
int main()
{
// 输出ASCII艺术字的上半部分(火箭头部和主体)
cout << " ********" << endl; // 火箭顶部装饰
cout << " ************" << endl; // 火箭顶部扩大部分
cout << " ####....#." << endl; // 火箭头部细节1
cout << " #..###.....##...." << endl; // 火箭头部细节2
cout << " ###.......###### ### ###" << endl; // 火箭主体开始部分
// 输出火箭中部细节(包含对称图案)
cout << " ........... #...# #...#" << endl; // 对称装饰1
cout << " ##*####### #.#.# #.#.#" << endl; // 对称装饰2
cout << " ####*******###### #.#.# #.#.#" << endl; // 对称装饰3
cout << " ...#***.****.*###.... #...# #...#" << endl; // 对称装饰4
cout << " ....**********##..... ### ###" << endl; // 对称装饰5
// 输出火箭尾部连接部分
cout << " ....**** *****...." << endl; // 尾部过渡1
cout << " #### ####" << endl; // 尾部过渡2
cout << " ###### ######" << endl; // 尾部过渡3
// 输出发射台部分(大面积图案)
cout << "##############################################################" << endl; // 发射台顶部
cout << "#...#......#.##...#......#.##...#......#.##------------------#" << endl; // 发射台细节1
cout << "###########################################------------------#" << endl; // 发射台细节2
cout << "#..#....#....##..#....#....##..#....#....#####################" << endl; // 发射台细节3
cout << "########################################## #----------#" << endl; // 发射台细节4
cout << "#.....#......##.....#......##.....#......# #----------#" << endl; // 发射台细节5
cout << "########################################## #----------#" << endl; // 发射台细节6
cout << "#.#..#....#..##.#..#....#..##.#..#....#..# #----------#" << endl; // 发射台细节7
cout << "########################################## ############" << endl; // 发射台底部
return 0; // 返回程序执行成功状态码
}
【运行结果】
********
************
####....#.
#..###.....##....
###.......###### ### ###
........... #...# #...#
##*####### #.#.# #.#.#
####*******###### #.#.# #.#.#
...#***.****.*###.... #...# #...#
....**********##..... ### ###
....**** *****....
#### ####
###### ######
##############################################################
#...#......#.##...#......#.##...#......#.##------------------#
###########################################------------------#
#..#....#....##..#....#....##..#....#....#####################
########################################## #----------#
#.....#......##.....#......##.....#......# #----------#
########################################## #----------#
#.#..#....#..##.#..#....#..##.#..#....#..# #----------#
########################################## ############
浙公网安备 33010602011771号