CCF-CSP真题训练第一题-《202312仓库规划》-python

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)

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值