九度Online Judge

OJ新增积分机制,如有任何问题或者建议,请发帖到九度论坛OJ意见反馈版,祝大家一切顺利!
亲,九度OJ官方微博开通了,欢迎你来粉!微博地址:weibo.com/jobdu

 题目1487-九度Online Judge,用代码记录你的成长之路!

题目1487:翻版玛丽

时间限制:1 秒

内存限制:128 兆

特殊判题:

提交:30

解决:7

题目描述:

qp18_31和1tthinking虽然是两个性格完全不同的人, 但是他们都喜欢玩 'Super Mario Bros'.

一天lqp18_31和1tthinking正玩得高兴,突然发现他们的Mac坏掉了。于是他们求助ftiasch,想借他的电脑。但是由于ftiasch使用的是Ubuntu,没有super mario bros这个游戏,ftiasch打算写一个mario给两个可怜的小朋友玩。

不过写着写着,ftiasch就觉得不好玩了,跑去找她的姐妹们玩了。你能不能帮助ftiasch写这个游戏?

输入:

第一行两个整数 R and C, 表示游戏地图的大小 (1 ≤ R, C ≤ 300)。

第二行两个整数 xmario and ymario, t表示small mario所在的坐标 (0 ≤ xmario < R, 0 ≤ ymario < C).

第三行两个整数 xmush and ymush, 表示唯一一个蘑菇的坐标 (如果 xmush or ymush 等于 -1, 表示不存在)。

第四行四个整数 xtube1, ytube1, xtube2, ytube2, 表示两个水管的坐标。 (if xtube1 or ytube1 or xtube2or ytube2 等于 -1, 表示不存在).

第五行一个整数 n, 表示block的数量,然后是 n 对整数, 表示block[i]的坐标。

第六行一个整数 m, 表示coin的数量,然后是 m 对整数, 表示coin[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会获得100分。且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
来源:
2012年北京大学计算机研究生机试真题