python列表类型题_python编程之列表习题(3个)

m,n=input().split()

m=int(m)

n=int(n)

ls=[]

lt=[]

dp=[]

#输入并转换为数值列表

for i in range(m):

a=list(input().split())

for j in range(n):

a[j]=int(a[j])

ls.append(a)

#选每行最大值

for i in range(m):

b=max(ls[i])

#判断有无重复最大值

if ls[i].count(b)==1:

c=ls[i].index(b)

#选列最小值

for k in range(m):

lt.append(ls[k][c])

d=min(lt)

#判断该点是否为鞍点

if b==d:

dp.append([b,i+1,c+1])

lt.clear()

#再判断重复为二,步骤同上

elif ls[i].count(b)==2:

c=ls[i].index(b)

for k in range(m):

lt.append(ls[k][c])

d=min(lt)

if b==d:

dp.append([b,i+1,c+1])

lt.clear()

ls[i][c]=0

o=max(ls[i])

p=ls[i].index(o)

for k in range(m):

lt.append(ls[k][p])

d=min(lt)

if b==d:

dp.append([b,i+1,p+1])

lt.clear()

#判断有无鞍点

if len(dp)==0:

print('No answer')

else:

#将数值列表转换成字符串列表,再将列表转换成字符串输出

for i in dp:

i=[str(g) for g in i]

j=' '.join(i)

print(j)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值