1.真题来源
2.分析
遍历找到上级仓库序号
3.运行结果
PS:自己写的实际上超时了,然后去网上看了其他大佬写的发现他们写的确实更妙,需要判断的少了,我还花了点时间才看懂。
4.Python满分运行代码
# 输入数据
n, m = map(int, input().split())
warehouse = [list(map(int, input().split()))for i in range(n)]
# 计算上级仓库
bianhao = []
for i in range(n):
shangji = []
for j in range(n):
leiji = 0
for k in range(m):
if warehouse[i][k] < warehouse[j][k]:
leiji += 1
if leiji == m:
shangji.append(j+1)
if len(shangji) == 0:
bianhao.append(0)
elif len(shangji) == 1:
bianhao.append(shangji[0])
else:
bianhao.append(min(shangji))
# 输出所有仓库的上级仓库编
for i in range(len(bianhao)):
print(bianhao[i])
5.学习
代码内容源于:https://blog.csdn.net/weixin_53919192/article/details/135047177?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22135047177%22%2C%22source%22%3A%22weixin_53919192%22%7D
感觉这个博主写的更妙一些。
n, m = map(int, input().split())
warehouse = [list(map(int, input().split())) for _ in range(n)]
for i in range(n):
output = 0
for j in range(n):
if i!=j:
flag = True
for k in range(m):
if warehouse[i][k]>=warehouse[j][k]:
flag = False
break
if flag:
output = j+1
break
print(output)