(每日一练28783)题目名称:会议安排

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

开会了!作为一个集体,开会的时候桌子当然是需要和老大相邻的!(老大可能坐在桌子上边) 小艺被分配到排桌椅的活,可是小艺的力气都用在吃上了,怎么可能搬动这些桌椅呢。 她决定用现有的布局当作是会议座位安排。 每个桌子分配一个人。相邻桌子不同的桌子颜色不同。 小艺想知道选择某个桌子之后老大身边能围多少人?

注意审题,boss 就在桌子上,没有指定 boss 的位置和所属字符。就当桌子是 boss 好了。换个理解方式:组队打 boss 去了,每个字符表示一个人,特定字符表示 boss,问围着这个 boss 的有多少人。

这里没有考虑比如同一个字符不连续的情况,如果有这个用例的话,自行调整下即可。

n,m,c = input().split()
n,m = map(int,(n,m))
arr = [input() for _ in range(n)]
table = []
for i in range(n):
    for j in range(m):
        if arr[i][j] == c:
            table.append((i,j))
z = set()
for pos in table:
    for r in ((0,1),(0,-1),(1,0),(-1,0)):
        if n > pos[0] + r[0] >= 0 \
            and m > pos[1] + r[1] >= 0 \
            and (pos[0] + r[0],pos[1] + r[1]) not in table \
            and arr[pos[0] + r[0]][pos[1] + r[1]] != '.':
            z.add(arr[pos[0] + r[0]][pos[1] + r[1]])
print(len(z))
...全文
119 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

321

社区成员

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

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