Logo HelloWorld信息学奥赛题库

少儿编程

时间限制:1 s 空间限制:512 MB
统计

题目描述

Battleships是一款游戏,最初使用铅笔和纸模拟一场海战。它已经有超过一百年的历史了,世界各地的孩子都玩过,甚至早在1890年俄罗斯海军军官就可能玩过。维基百科全书(Wikipedia)说:“游戏在方格(纸或木板)上进行,每个玩家的舰队(包括战列舰)都标记在方格上,舰队的位置是私密的,其他玩家不知道,每个玩家轮流向其他玩家‘射击’,优先摧毁对方舰队者胜利”。
这个问题需要模拟游戏中的玩家A,对玩家B射击。在游戏中,舰队由以下船只组成:
船只                    长度
战列舰(battleship)      5
驱逐舰(destroyer)       4
巡洋舰(cruiser)         3
潜艇(submarine)         2

所有船只均符合下列要求:
•船只必须垂直、水平或斜着放在连续的方格上
•船只不得重叠
•船只不得弯曲
•船只必须完整。
在样例解释中,将会有一个正在进行游戏的合法舰队的示意图。
你的任务是对照舰队检查每一次射击是否击中,每个方格的位置由列(字母,A~J)和行(数字,1~10)定义。

输入格式

前4行表示舰队的位置,从第5行开始,每行表示敌方的射击位置。每艘船只的位置由船只两端的方格确定,第一个给定的方格将是两个列号中较小的一个(字母较小的那个),或者,对于垂直排列的容器,是两个行号中较小的一个(数字较小的那个),一行上的所有数据将以空格分隔。
第一行输入战列舰的位置。
第二行输入驱逐舰的位置。
第三行输入巡洋舰的位置。
第四行输入潜艇的位置。
从第5行开始,每行输入一个方格,表示敌人射击的位置,输入X0时表示输入结束。

输出格式

对于每个射击,输出一行,有两种情况:
1.Miss,表示没有击中舰船
2.Hit <船只类型> <船只布局>
船只类型有battleship(战列舰)、destroyer(驱逐舰)、cruiser(巡洋舰)和submarine(潜艇)。
船只布局有Vertical(垂直)、Horizontal(水平)和Diagonal(斜放)。

样例数据

input

B3 B7
E3 H3
B9 D7
C5 D6
F4
D6
E7
E5
C5
X0

output

Miss
Hit submarine Diagonal
Miss
Miss
Hit submarine Diagonal

样例解释

avatar