超级玛丽游戏

GitHub跳转原题关系图返回列表

把题面给定的多行 ASCII 字符画原样保存并一次输出。

OJ: noi_openjudge

题目 ID: ch0101-10

难度:入门

标签:输出字符串python

日期: 2026-07-30 23:01

题意

本题没有输入。严格按照样例输出给定的多行超级玛丽字符画,任何一行的前导空格、内部空格、标点和行尾都不能改变。

思路

把整幅字符画保存在一个三引号字符串中,再一次 print 输出。三引号字符串会保留每一行中的空格和换行,适合这种固定多行文本。

字符串的开头紧贴第一行内容,避免多出空行;每行末尾也不写空格。print 只在最后补上一个换行,不会改动中间各行的布局。

代码

Python代码

python
scene = """                ********
               ************
               ####....#.
             #..###.....##....
             ###.......######              ###                 ###           ###           ###
                ...........               #...#               #...#         #...#         #...#
               ##*#######                 #.#.#               #.#.#         #.#.#         #.#.#
            ####*******######             #.#.#               #.#.#         #.#.#         #.#.#
           ...#***.****.*###....          #...#               #...#         #...#         #...#
           ....**********##.....           ###                 ###           ###           ###
           ....****    *****....
             ####        ####
           ######        ######
##############################################################              ##################################
#...#......#.##...#......#.##...#......#.##------------------#              #...#......#.##------------------#
###########################################------------------#              ###############------------------#
#..#....#....##..#....#....##..#....#....#####################              #..#....#....#####################
##########################################    #----------#                  ##############    #----------#
#.....#......##.....#......##.....#......#    #----------#                  #.....#......#    #----------#
##########################################    #----------#                  ##############    #----------#
#.#..#....#..##.#..#....#..##.#..#....#..#    #----------#                  #.#..#....#..#    #----------#
##########################################    ############                  ##############    ############"""

print(scene)

C++代码

这里保留原有的 C++ 参考实现。

cpp
#include <cstdio>
char str[]="                ********\n\
               ************\n\
               ####....#.\n\
             #..###.....##....\n\
             ###.......######              ###                 ###           ###           ###\n\
                ...........               #...#               #...#         #...#         #...#\n\
               ##*#######                 #.#.#               #.#.#         #.#.#         #.#.#\n\
            ####*******######             #.#.#               #.#.#         #.#.#         #.#.#\n\
           ...#***.****.*###....          #...#               #...#         #...#         #...#\n\
           ....**********##.....           ###                 ###           ###           ###\n\
           ....****    *****....\n\
             ####        ####\n\
           ######        ######\n\
##############################################################              ##################################\n\
#...#......#.##...#......#.##...#......#.##------------------#              #...#......#.##------------------#\n\
###########################################------------------#              ###############------------------#\n\
#..#....#....##..#....#....##..#....#....#####################              #..#....#....#####################\n\
##########################################    #----------#                  ##############    #----------#\n\
#.....#......##.....#......##.....#......#    #----------#                  #.....#......#    #----------#\n\
##########################################    #----------#                  ##############    #----------#\n\
#.#..#....#..##.#..#....#..##.#..#....#..#    #----------#                  #.#..#....#..#    #----------#\n\
##########################################    ############                  ##############    ############";

int main(){
	printf("%s",str);
	return 0;
}

复杂度

字符画长度是常数,时间复杂度为 O(1)O(1),额外空间复杂度为 O(1)O(1)

总结

固定字符画题没有算法难点,关键在于逐行、逐字符复制。多行文本在 Python 中可用三引号字符串保存,提交前必须检查行首和行尾空格。