找朋友
题面描述:
找呀 找呀 找朋友
找到一个好朋友
敬个礼 握握手
你是我的好朋友
春天到了,大家都找自己的好朋友出去玩耍,然而大家都不甘示弱,要比比谁最
先能找到自己的好朋友。 给出一个 n×m 的地图,上面有 k 对好朋友,分别用‘a’ ,
‘A’ ,‘b’ ,‘B’, ……表示。其中大写字母‘A’和小写字母‘a’是一对好朋友。
小写字母在单位时间内可以向上、向下、向左或向右移动一格(可以穿过障碍物),
大写字母不能移动。请问最快找到好朋友(对应的大写字母)的小写字母是谁?
输入数据:
第一行有一个整数 t (1 ≤ t ≤ 100) ,表示有 t 组数据。
对于每组数据:
第一行有三个正整数 n , m, k (1 ≤ n, m ≤ 100, 1 ≤ k ≤ 26),表示地图的行数、列数
和好朋友的对数;
接下来有 n 行,每行有一个长为 m 的字符串,表示地图。 '.'表示什么都没有,对
应的大写字母和小写字母表示一对好朋友。
输出数据:
输出 t 行,每行一个小写字母,表示最快找到好朋友的小写字母。
如果有多个小写字母同时找到好朋友,则输出字典序最小的小写字母。
样例输入:
3
2 5 2
aBA…
…b
3 4 3
a…A
b.B.
c.C.
4 4 2
b…A
.B…
…
…a
样例输出:
a b b
def abd(x,y,z):#x输入是二十六个大写字母中的一个y是列表 z是行列信息
if x in y:
xlow=y.index(x)
xlow_x=xlow//int(z[1])#取整除 一个反斜杠为直接除
xlow_y=xlow%int(z[1])#取余除
xlarge = chr(ord(x)+32)
xlarge = y.index(xlarge)
xlarge_x = xlarge //int(z[1])
xlarge_y = xlarge % int(z[1])
anser = abs(xlarge_x-xlow_x)*abs(xlarge_x-xlow_x)+abs(xlarge_y-xlow_y)*abs(xlarge_y-xlow_y)#以坐标差算距离
#print(anser)
return anser
else:
return 20000
t = int(input())
answer = []
for i in range(t):
teamnum = list(input().split())#输入矩阵信息
temadata=[]
for ii1 in range(int(teamnum[0])):
temadata += list(input())#输入第一行 每一行为字符串形式‘每一个字符’
length=[]
for ii in range(65,97):
xx=abd(chr(ii),temadata,teamnum)
length.APPend(xx)#返回26个字母的距离列表
#print(length)
an=length.index(min(length))
bn=list(range(97,123))
bn1=chr(bn[an])
answer.append(bn1)
for iii in answer:
print(iii)
相关阅读
在iPad上如何激活iMessage并用iMessage给朋友发送信息
用 iMessage 发送信息,比原来的短信更胜一筹,因为iMessage是通过网络发送的,不花费任何短信费用。你可与任何运行 iOS 5 的 iPhone、
哪些病毒营销火爆的原因是什么?对运营人员进行活动策划又有何借鉴意义呢?最近,你的朋友圈被这种左右脑年龄测试的图片刷屏了吗?作为朋
风靡朋友的微软的how-old.net是什么鬼?为什么会走红?
从脸萌到小偶,从足记到生日管家,再到最近的how-old.net,都在朋友圈赚足了眼球。他们走过的路径是相似的,莫名其妙在朋友圈爆红,用户快
朋友圈是微信一个很重要的功能,能够实时分享自己的生活,而且仅限于朋友之间,让你们的关系更加紧密,但是微信也能聊天能传送文件等功能
现在我们每个人都有微信的,微信也是我们生活中占用最对的通讯软件工具了那么我们的微信也是赚钱的一个手段和工具,千万不要错过能够