牛客第2章习题

n = int(input())
line =input().strip()
nums = list(map(int,line.split())) #这就是这道题的知识点;python3中map后要list一下
nums.sort()
NN = sum(nums[::2])
YY = sum(nums[1::2])
print(abs(NN-YY))
n , m= map(int,input().split())
machines = []
tasks = []
for i in range(n):
    machines.append(list(map(int,input().split())))
for i in range(m):
    tasks.append(list(map(int,input().split())))
tasks.sort(key = lambda x:(x[0],x[1]),reverse = True)
machines.sort(key = lambda x:(x[0],x[1]),reverse = True)
dp = [0 for _ in range(101)]
j=0
count = 0
res = 0
for time,level in tasks:#即首先挑选出满足时长要求的那些机器,然后在从中挑选出满足等级要求最低的那台机器来完成相应的任务。用来完成任务的机器将其从记录中剔除同时累加获得的收益。
    while j<n and machines[j][0]>=time:
        dp[machines[j][1]] += 1
        j += 1
    for i in range(level,101): #因为n上面已经定义了,所以这里不能再用n作为索引了
        if dp[i]>0:
            dp[i] -=1
            count +=1
            res +=200*time + 3*level
            break
print(count,res)

总结,牛客网题解写法
①1行有2个输入时,通过map(int,**)输入

n , m= map(int,input().strip().split())

②输入是矩阵的时候

matrix = ['' for _ in range(n)]
for i in range(n):
    matrix[i] = (list(input().strip()))
print(matrix)
输入
XXB
XYGX
XBYY
BXXY
输出:[['Y', 'X', 'X', 'B'], ['X', 'Y', 'G', 'X'], ['X', 'B', 'Y', 'Y'], ['B', 'X', 'X', 'Y']]
如果加上split(' ')
matrix = ['' for _ in range(n)]
for i in range(n):
    matrix[i] = (list(input().strip().split(' ')))
print(matrix)
输出:['YXXB'], ['XYGX'], ['XBYY'], ['BXXY']]

当需要对矩阵每1行的每个元素做算法时,使用不加split(’ ')的

③当输入的矩阵带空格时,使用加split(’ ')的

4 4
1 3 5 9
8 1 3 4
5 0 6 1
8 8 4 0
牛客读写
n,m = map(int,input().strip().split(' '))
matrix = ['' for _ in range(n)]
for i in range(n):
    matrix[i] = list(input().strip().split(' '))
print(matrix)
mat=numpy.array([[-90, 48 ,78],[64 ,-40, 64],[-81, -7, 66]])
mat=numpy.matrix('-90, 48 ,7';'64 ,-40, 64';'-81, -7, 66')
matrix生成的矩阵,索引是amt[1,0]
记录,将nums逆序
nums[::-1]
for i in range(5,-1,-1):
	print(i)#是5到0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值