把题面给定的多行 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;
}复杂度
字符画长度是常数,时间复杂度为
总结
固定字符画题没有算法难点,关键在于逐行、逐字符复制。多行文本在 Python 中可用三引号字符串保存,提交前必须检查行首和行尾空格。