bzoj#P2290. 【POJ Challenge】翻版玛丽
【POJ Challenge】翻版玛丽
题目描述
lqp18_31 和 1tthinking 虽然是两个性格完全不同的人, 但是他们都喜欢玩 'Super Mario Bros'.
一天 lqp18_31 和 1tthinking 正玩得高兴,突然发现他们的 Mac 坏掉了。于是他们求助 ftiasch,想借他的电脑。但是由于 ftiasch 使用的是 Ubuntu,没有 super mario bros 这个游戏,ftiasch 打算写一个 mario 给两个可怜的小朋友玩。
不过写着写着,ftiasch 就觉得不好玩了,跑去找她的姐妹们玩了。你能不能帮助 ftiasch 写这个游戏?
输入格式
第一行两个整数 和 , 表示游戏地图的大小 。
第二行两个整数 和 , 表示 small mario 所在的坐标 $(0 \le x_{mario} < R, 0 \le y_{mario} < C)。
第三行两个整数 $x_{mush}y_{mush}x_{mush}y_{mush}-1x_{tube1}, y_{tube1}, x_{tube2}, y_{tube2}x_{tube1} = -1y_{tube1} = -1x_{tube2} = -1y_{tube2} = -1nnblock[i]mmcoin[i]$ 的坐标。
第七行一个字符串,表示动作序列。
下面给出所有物体的像素图形:
Small mario
********
************
####....#.
#..###.....##....
###.......######
...........
##*#######
####*******######
...#***.****.*###....
....**********##.....
....**** *****....
#### ####
###### ######
Big mario
********
**************
####....#.
#..##.....#.....
#..###.....##....
###.......######
...........
##*######
####*#####*#####
######*******#######
...#***.****.*###....
....**********##.....
...**************....
**** ****
#### ####
###### ######
Mushroom
########
##.******.##
##...****...##
#............#
#..########..#
###..#..#..###
#..#..#..#
#........#
########
Tube
####################
#------------------#
#------------------#
####################
#----------#
#----------#
#----------#
#----------#
############
Coin
###
#...#
#.#.#
#.#.#
#...#
###
Block
##############
#...#......#.#
##############
#..#....#....#
##############
#.....#......#
##############
#.#..#....#..#
##############
保证输入不会重叠,且 mario 一开始脚下一定有砖块。 重叠指有非空格重叠。下面是重叠:
##############
#...#......#.#
##############
#..#....#....#
##############
#.....#......#
##############
#.#..#....#..#
##############**
####....#.
#..###.....##....
###.......######
...........
##*#######
####*******######
...#***.****.*###....
....**********##.....
....**** *****....
#### ####
###### ######
下面不是重叠:
##############
#...#......#.#
##############
#..#....#....#
##############
#.....#......#
******** ##############
************ #.#..#....#..#
####....#. ##############
#..###.....##....
###.......######
...........
##*#######
####*******######
...#***.****.*###....
....**********##.....
....**** *****....
#### ####
###### ######
字符串包含 D
,L
,R
,P
。
R
:如果向右不会导致 mario 和某个 block、tube 重叠,mario 向右。
L
:如果向左不会导致 mario 和某个 block、tube 重叠,mario 向左。
D
:如果 mario 脚下是某个 tube,mario 到达另一个 tube 的正上方。
Mario 在水管上方:
********
************
####....#.
#..###.....##....
###.......######
...........
##*#######
####*******######
...#***.****.*###....
....**********##.....
....**** *****....
#### ####
###### ######
####################
#------------------#
#------------------#
####################
#----------#
#----------#
#----------#
#----------#
############
水管不在 mario 的脚下:
********
************
####....#.
#..###.....##....
###.......######
...........
##*#######
####*******######
...#***.****.*###....
....**********##.....
....**** *****....
#### ####
###### ######
####################
#------------------#
#------------------#
####################
#----------#
#----------#
#----------#
#----------#
############
当 mario 和 mushroom 重叠,mario 会变大。且 mushroom 消失。
当 mario 和金币重叠,mario 会获得 分。且 coin 消失。
如果 mario 脚下没有砖块或者水管,它会不断往下掉。
如果当前 mario 到达了地图的底部,且还是没有 block 和 tube,mario 就输了。必须输出:
....#####.......#........#...#..#####.........###...#.....#..#####.......#####.....
...#...........#.#......##..##..#............#...#..#....#...#..........#.....#...
...#..........#..#.....#.#.#.#..#####........#...#..#...#....#####.....#######...
...#..###... #####....#..##..#..#............#...#..#..#.....#........#..#......
...#....#...#....#...#...#...#..#............#...#..#.#......#.......#....#....
....###.#..#.....#..#........#..#####.........###...##.......#####..#......#..
输出格式
对于每个P,输出当前的地图以及一行得分情况 "Mario : ? points"。P与P之间输出一个空行
100 150
9 0
-1 -1
0 42 0 90
4 0 0 0 14 0 28 0 76
5 12 28 12 62 12 76 12 90 12 42
RRRRRRRRRRRP
********
************
####....#.
#..###.....##....
###.......###### ### ### ### ###
........... #...# #...# #...# #...#
##*####### #.#.# #.#.# #.#.# #.#.#
####*******###### #.#.# #.#.# #.#.# #.#.#
...#***.****.*###.... #...# #...# #...# #...#
....**********##..... ### ### ### ###
....**** *****....
#### ####
###### ######
############################################################## ##################################
#...#......#.##...#......#.##...#......#.##------------------# #...#......#.##------------------#
###########################################------------------# ###############------------------#
#..#....#....##..#....#....##..#....#....##################### #..#....#....#####################
########################################## #----------# ############## #----------#
#.....#......##.....#......##.....#......# #----------# #.....#......# #----------#
########################################## #----------# ############## #----------#
#.#..#....#..##.#..#....#..##.#..#....#..# #----------# #.#..#....#..# #----------#
########################################## ############ ############## ############
Mario : 100 points
提示
没有写明提示
题目来源
没有写明来源