#1286. 2290. 【POJ Challenge】翻版玛丽

2290. 【POJ Challenge】翻版玛丽

#2290. 【POJ Challenge】翻版玛丽

题目描述

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

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

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

![image](file://g3200_1.png)

输入格式

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

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

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

第四行四个整数 x tube1, y tube1, x tube2, y tube2, 表示两个水管的坐标。 (if x tube1 or y tube1 or x tube2 or y tube2 等于 -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  

数据范围与提示