(每日一练28832)题目名称:拯救公主

文盲老顾
WEB应用领新星创作者
博客专家认证
2023-06-14 11:03:35

在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')
...全文
93 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

321

社区成员

发帖
与我相关
我的任务
社区描述
主要用于技术交流,包括但不限于 .net,mssql,js,css,python,算法,运维。也可以晒最新技术,美图,运动等。最后,如果有问题,可以提问,老顾能帮忙的会尽量帮忙哦。
前端sqlserverasp.net 技术论坛(原bbs) 北京·西城区
社区管理员
  • 文盲老顾
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧