腾讯数据/算法岗笔试题第二题.x 大家来讨论下解法吧
腾讯8月17号,数据/算法岗笔试题第二题,表示没看明白题目意思
题目描述:
给你一个n*m的二维矩阵,每个格子有且仅有`.`和`x`两种状态。
`.`的格子没破损最多可以走2次,再走会掉下去;
`x`的格子已破损(我理解的是可以走1次,也有同学理解的是1次都不能走),再走会掉下去;
让你判断能不能从起点(start_x,start_y)走到(end_x,end_y),并且走到(end_x,end_y)刚好能掉下去。
尝试1:
认为`.`的格子可以走2次,`x`的格子可以走1次,走到终点时刚好掉下去。
结果1:
这么理解的话,第二个例子为YES,与题目给出的NO不符。
事实上,这么理解的话,无论怎样都是YES,大家可以仔细思考下:如果终点为`x`,显然有路可以到终点,到终点后刚好掉下去;如果终点为`.`,显然有路可以到终点,到终点后再在周围找个格子走过去,然后再回终点,刚好掉下去。
尝试2:
认为`.`的格子可以走2次,`x`的格子可以走0次,走到终点时刚好掉下去。
结果2:
第一个例子的起点是个`x`,这样的话,在起点就会掉下去,永远到不了终点,与题目给出的YES不相符。
所以应该是怎么理解?