321
社区成员




在Flower Kingdom里,住着一位美丽的公主Ana,有一天Ana得了一种怪病,神医告知国王,在遥远的幽谷中有一种药能治愈Ana, 但是神医只有一份不完整的地图,地图的描述如下: 该地图的共有3行,第一行有m列,m为奇数,第二行有m+1列,第三行有m+2列; 每一行用一个字符串表示,只有两种字符;‘.'表示草地,可以从它上面通过,‘’表示岩石,每一行最多一个‘’; 入口在左上角,由于在对角线方向上,即使两边都有岩石,但是缝隙较大,人可以通过;故人可以向八个方向行走; 神医告诉国王真实的地图是由该地图的每一行无限循环得到的,这种神奇的药草就生长在第x行第y列的草地上,药草可能会在岩石上; 所以此地相当神秘,至今无人敢前往,国王决定派遣勇敢的骑士David前去寻找拯救公主的解药; 现在聪明的你是否知道David能否找到该药?
周赛第38期出过这个题目,今天看到题目,发现输入描述不完整,坑了。输入信息分多行,第一行是 n ,表示 n 组数据,后边每四行为一组,每组第一行是 m,x,y,后边三行为地图信息。
import sys
lines = sys.stdin.readlines()
n = int(lines[0].strip())
for t in range(n):
m,x,y = map(int,lines[t * 4 + 1].split())
mp = [v.strip() for v in lines[t * 4 + 2:(t + 1) * 4 + 1]]
s = -1
for i in range(y + 1):
col = mp[0][i % m] + mp[1][i % (m + 1)] + mp[2][i % (m + 2)]
if col == '***':
s = i
break
if mp[0][0] == '*' or mp[x - 1][(y - 1) % (m + x - 1)] == '*' or s >= 0:
print('NO')
else:
print('YES')