坦克面试题
Posted neeo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了坦克面试题相关的知识,希望对你有一定的参考价值。
‘‘‘ 某次战役中,为便于信息交互,我军侦察部门将此次战役的关键高地坐标设定为(x=0,y=0)并规定,每向东增加100米,x加1,每向北增加100米,y加1。同时,我军情报部门也破译了敌军向坦克发送的指挥信号,其中有三种信号(L,R,M)用于控制坦克的运动,L 和 R 分别表示使令坦克向左、向右转向,M 表示令坦克直线开进100米,其它信号如T用于时间同步,P用于位置较准。 一日,我军侦察兵发现了敌军的一辆坦克,侦察兵立即将坦克所在坐标(P, Q)及坦克前进方向(W:西,E:东,N:北,S:南)发送给指挥部,同时启动信号接收器,将坦克接收到的信号实时同步发往指挥部,指挥部根据这些信息得以实时掌控了该坦克的位置,并使用榴弹炮精准地击毁了该坦克。 假设,侦察兵发送给指挥部的信息如下: 坦克坐标:(11,39) 坦克运行方向:W 坦克接收到的信号为:MTMPRPMTMLMRPRMTPLMMTLMRRMP 请通过编程计算出坦克所在的位置(编程语言不限) ‘‘‘ class Coordinate: dic = {‘WL‘: ‘S‘, ‘WR‘: ‘N‘, ‘EL‘: ‘N‘, ‘ER‘: ‘S‘, ‘NL‘: ‘W‘, ‘NR‘: ‘E‘, ‘SL‘: ‘E‘, ‘SR‘: ‘W‘} def __init__(self,x,y,d): self.x = x self.y = y self.d = d def message(self,msg): for i in msg: if i == ‘M‘: if self.d == ‘W‘: self.x -= 1 elif self.d == ‘E‘: self.x += 1 elif self.d == ‘N‘: self.y += 1 elif self.d == ‘S‘: self.y -= 1 elif i in [‘L‘,‘R‘]: self.d = self.dic[self.d+i] return (self.x, self.y, self.d) a = Coordinate(11,39,‘W‘) s = ‘MTMPRPMTMLMRPRMTPLMMTLMRRMP‘ print(a.message(s)) # http://www.hutaoren.cn/article/12/ # 可以参考
以上是关于坦克面试题的主要内容,如果未能解决你的问题,请参考以下文章